效果图

""""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. 001-springmvc之原理图

    1.流程. 2.时序图. 3.方法调用. (0)DispatcherServlet类.提供了HandlerMapping成员关联关系. /** MultipartResolver used by th ...

  2. vue小toast插件报错runtine-only

    var Toast={}; Toast.install = function (Vue, options) { let opt = { defaultType:'bottom', // 默认显示位置 ...

  3. 2017-2018-2 20165207实验二《Java面向对象程序设计》实验报告

    2017-2018-2 20165207实验二<Java面向对象程序设计>实验报告 课程:Java程序设计 班级:1652 姓名:李天林 学号:20165207 实验日期:2018年4月1 ...

  4. Python笔记 #13# Pandas: Viewing Data

    感觉很详细:数据分析:pandas 基础 import pandas as pd import numpy as np import matplotlib.pyplot as plt dates = ...

  5. 在Github上搭建博客

    貌似还是这个链接最靠谱呀 http://my.oschina.net/nark/blog/116299   如何利用github建立个人博客:之一 在线编辑器http://markable.in/ed ...

  6. js模拟类的创建以及继承的四部曲

    <script> 1)创建父类 function Person(){ } Person.prototype.age = 18;//给父类添加属性 var p1 = new Person() ...

  7. POJ 2699 The Maximum Number of Strong Kings (最大流+枚举)

    http://poj.org/problem?id=2699 题意: 一场联赛可以表示成一个完全图,点表示参赛选手,任意两点u, v之间有且仅有一条有向边(u, v)或( v, u),表示u打败v或v ...

  8. 介绍一个python视频处理库:moviepy

    由于博客园的插件和我自己博客的插件不一致,代码以及视频插入转换很麻烦,所以还是我原来博客的地址查看吧. 介绍一个python视频处理库:moviepy

  9. QtTcp_资料

    1.百度搜索关键字“Qt TCP” 2. 2.1.Qt学习之路_5(Qt TCP的初步使用) http://www.cnblogs.com/tornadomeet/archive/2012/06/30 ...

  10. 【Python】远离 Python 最差实践,避免挖坑

    原文链接:http://blog.guoyb.com/2016/12/03/bad-py-style/ 最近在看一些陈年老系统,其中有一些不好的代码习惯遗留下来的坑:加上最近自己也写了一段烂代码导致服 ...