效果图

""""brid布局"""
from tkinter import *
import tkinter.filedialog
from tkinter import scrolledtext # 导入滚动文本框的模块
from tkinter.messagebox import *
import time class TKMain():
xin = Tk()
path = StringVar()
#路径赋值
def selectPath(self):
path_ = tkinter.filedialog.askopenfilename()
self.path.set(path_)
# 桌面
def views(self):
self.xin.geometry('400x400') # 指定主框体大小
self.xin.title('名称') # 标题名
Label(self.xin, text="编号").grid(row=1, column=0, sticky=E) self.number_id = tkinter.StringVar()
self.number_id_entry = tkinter.Entry(self.xin)
self.number_id_entry["textvariable"] = self.number_id
self.number_id_entry.grid(row=1, column=1, sticky=E) Label(self.xin, text="文件").grid(row=3, column=0, sticky=E)
#Entry(self.xin, stat="readonly", textvariable=self.path).grid(row=3, column=1, sticky=E)
self.xls_path = tkinter.StringVar()
self.xls_path_entry = tkinter.Entry(self.xin,stat="readonly")
self.xls_path_entry["textvariable"] = self.path
self.xls_path_entry.grid(row=3, column=1, sticky=E)
Button(self.xin, text=" 选择 ", command=self.selectPath).grid(row=3, column=2, sticky=E)
# 占位
Label(self.xin, text="").grid(row=5, column=0)
Button(self.xin, text=" 运行 ", command=self.validate).grid(row=6, column=1, sticky=E)
Button(self.xin, text=" 停止 ").grid(row=6, column=2, sticky=E)
# 占位
Label(self.xin, text="").grid(row=7, column=0)
# 滚动文本框
scrolW = 50 # 设置文本框的长度
scrolH = 18 # 设置文本框的高度
self.text = scrolledtext.ScrolledText(self.xin, width=scrolW, height=scrolH, wrap=tkinter.WORD)
self.text.grid(row=10, columnspan=8, sticky=tkinter.E)
pass #验证事件
def validate(self):
is_validata = True;
try:
number_id_val = int(self.number_id.get());
xls_path_val = self.path.get()
if xls_path_val =="":
is_validata = FALSE
if number_id_val < 1:
is_validata = FALSE
except:
is_validata = FALSE
if is_validata == FALSE:
for i in range(0,100):
self.text.see(END) # 一直查看文本的最后位置~
time.sleep(0.5)
self.text.insert('end', "验证不通过,请查看!" + str(i)+ "\r\n")
self.text.update()#一直更新输出
if i == 50 :
break
print("验证不通过!")
pass
def app(self):
self.views()
mainloop()
def main():
TKMain().app();
pass; if __name__ == "__main__":
main()

python3 tkinter 桌面软件教程的更多相关文章

  1. github桌面软件使用教程

    github桌面软件使用教程 首先 要先安装 桌面版官网,或者百度搜github windows下载即可 可以再github网站上直接点击,把代码添加的桌面软件中 也可以再左上角添加项目,比如actu ...

  2. Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介

    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...

  3. nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞

    第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Win ...

  4. Atitit 桌面软件跨平台gui解决方案 javafx webview

    Atitit 桌面软件跨平台gui解决方案 javafx webview 1.1. 双向js交互1 1.2. 新弹出窗口解决1 1.3. 3.文档对象入口dom解析1 1.4. 所以果断JavaFX, ...

  5. PySimpleGUI 的第一个桌面软件

    最近学习了python风格的GUI模块,寻思着既然学了,就要学以致用,花了点时间,写了下面这个 简历软件.后面,可以通过接口 获取提交的数据,传到数据库里与网页交互.此软件我已经打包成 exe软件,直 ...

  6. CentOS搭建xfce桌面+VNC教程

    CentOS搭建xfce桌面+VNC教程 Linux的安全与性能向来为开发者所称道,你可以轻松地在搜索引擎中找到各种Linux优越性的说辞,其中不乏Linux的激进者.特别是当你步入VPS领域,更多地 ...

  7. C# 桌面软件开发-深入学习 [1]- AY-C#人爱学不学-aaronyang技术分享

    原文:C# 桌面软件开发-深入学习 [1]- AY-C#人爱学不学-aaronyang技术分享 曾经我做office,不想依赖别人dll,就使用了 Type.GetTypeFromProgID 可以根 ...

  8. Citrix Virtual Apps and Desktops 7 2203 LTSR虚拟云桌面单机教程

    哈喽大家好,欢迎来到虚拟化时代君(XNHCYL). 大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男.这里每天为你分享各种你感兴趣的技术.教程.软件.资源.福利--(每天更新不间断) 一 .主要内 ...

  9. wpf开发桌面软件记录

    我的开发环境是win7,vs2013,sql2012,用wpf开发了一个很简单的桌面软件,用Installshield制作的安装包,安装包包含了.framework4.5,在自己电脑上测试正常,想着挺 ...

随机推荐

  1. cocos-lua基础学习(10)scheduler类学习笔记

    local scheduler = cc.Director:getInstance():getScheduler() local function shouldNotCrash(dt) end loc ...

  2. 文件下载—SSH框架文件下载

    1.准备下载的api组件 <dependency> <groupId>commons-io</groupId> <artifactId>commons- ...

  3. VS2010/MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)

    鸡啄米在上一讲中介绍了MFC的消息映射机制,属于原理方面的知识.对于VC++编程入门学习者来说可能有些抽象,鸡啄米会把消息映射的知识渗透到后面的教程中.本节开始为大家讲解偏应用的知识-创建对话框. 对 ...

  4. STM32 IO口双向问题

    源: STM32 IO口双向问题

  5. impress.js初体验——前端装X利器

    impress.js 是国外一位开发者受 Prezi 启发,采用 CSS3 与 JavaScript 语言完成的一个可供开发者使用的表现层框架(演示工具).其功能包括画布的无限旋转与缩放,任意角度放置 ...

  6. 从0开始学习 GITHUB 系列之「GIT 进阶」【转】

    本文转载自:http://stormzhang.com/github/2016/06/16/learn-github-from-zero5/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  7. SQL优化:清理生产环境中已失效字段基本步骤

    1.统计相应字段的数据情况(如:几年没更新,无数据等情况) 2.确认产品逻辑已无效(产品经理邮件确认) 3.数据备份 4.将数据清空(置为0或空) 5.测试环境中删除引用页面 6.修改定时程序,存储过 ...

  8. bootstrap.min.css.map HTTP/1.1" 404 1699

    在做一个jsp练习的时候遇到引入bootstrap.css的时候出现了URL:bootstrap.min.css.map 404的错误. 解决办法:删除bootstrap.min.css文件内容最后一 ...

  9. redis高可用 - redis集群

    redis-sentinel方案提供了单点的高可用解决方案,但是当数据量和业务量极速增长时,单点的reids不可能无限的纵向扩容(增大内存),这个时候就需要redis有集群的能力来扛. redis集群 ...

  10. 3个方法实现JavaScript判断移动端及pc端访问不同的网站

    3个方法比较简单,分别在页面头部加入如下js代码: 对于简单地直接从www.maslinkcom跳转到m.maslink.com,此方法仅从首页而言: <script>(function ...