效果图

""""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. 字节跳动冬令营网络赛 Solution

    A:Aloha Unsolved. B:Origami Unsolved. 题意: 初始的时候有一张纸,可以从左边往右边折叠,或者从右边往左边折叠 每次折叠的长度不能超过现有宽度,最后折叠到长度为1 ...

  2. python: 随机选择

    想从一个序列中随机抽取若干元素,或者想生成几个随机数. random 模块有大量的函数用来产生随机数和随机选择元素.比如,要想从一个序列中随机的抽取一个元素,可以使用random.choice() : ...

  3. Horizon代码的层次结构

    Horizon中包含多个dashboard,每个dashboard又包含多个panel,每个panel有可以包含多个Tab.

  4. http://www.cvvision.cn/2888.html

    图像处理(一)图像变形(1)矩形全景图像还原-Siggraph 2014 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:cvvision链接:http://www.cvvi ...

  5. Vue学习笔记之Vue组件

    0x00 前言 vue的核心基础就是组件的使用,玩好了组件才能将前面学的基础更好的运用起来.组件的使用更使我们的项目解耦合.更加符合vue的设计思想MVVM. 那接下来就跟我看一下如何在一个Vue实例 ...

  6. hdu 1163 九余数定理

    Eddy's digital Roots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  7. vim 安装Vundle.vim

    1.下载 git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 2.配置vimrc set no ...

  8. JSP 表单处理

    JSP 表单处理 我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理.浏览器中使用 GET 和 POST 方法向服务器提交数据. GET 方法 GET方法将请求的编码信息添加在网址后面, ...

  9. php--------网页开发实现微信JS的(定位,地图显示,照片选择功能)

    今天说说微信网页开发中一下JS的功能,分享一下,希望对各位有所帮助. 前提:要有公众号,和通过微信认证,绑定域名,得到相应信息,appid,appsecret等. 微信开发文档:https://mp. ...

  10. sed:轻量级流编辑器

    一. sed命令 sed是一种几乎包括在所有UNIX平台(包括Linux)的轻量级流编辑器.sed主要是用来将数据进行选取.替换.删除.新增的命令 注意:vi命令只能修改文件,但不能修改命令的结果,如 ...