python支持gui编程_Python GUI编程完整示例

本文实例讲述了python gui编程。分享给大家供大家参考,具体如下:

import os

from time import sleep

from tkinter import *

from tkinter.messagebox import showinfo

class dirlist(object):

def __init__(self, initdir=none):

self.top = tk()

self.label = label(master=self.top, text='directory lister v1.0')

self.label.pack()

self.cwd = stringvar(master=self.top)

self.dirl = label(self.top, fg='blue', font=('helvetica', 14, 'bold'))

self.dirl.pack()

self.dirfm = frame(master=self.top)

self.dirsb = scrollbar(master=self.dirfm)

self.dirsb.pack(side=right,fill=y)    # fill=y,垂直填充空间排列

self.dirs = listbox(master=self.dirfm, height=15, width=50, yscrollcommand=self.dirsb.set)

self.dirs.bind('', func=self.setdirandgo)   # ,双击显示路径列表

self.dirsb.config(command=self.dirs.yview)

self.dirs.pack(side=left, fill=both)

self.dirfm.pack()

self.dirn = entry(master=self.top, width=50, textvariable=self.cwd)

self.dirn.bind('', func=self.dols)

self.dirn.pack()

self.bfm = frame(master=self.top)

self.cleer = button(master=self.bfm, text='清除', command=self.clrdir, activeforeground='white',

activebackground='blue')

self.ls = button(master=self.bfm, text='显示列表', command=self.dols, activeforeground='white',

activebackground='green')

self.quit = button(master=self.bfm, text='退出', command=self.top.quit, activeforeground='white',

activebackground='red')

self.cleer.pack(side=left)

self.ls.pack(side=left)

self.quit.pack(side=left)

self.bfm.pack()

if initdir:

self.cwd.set(os.curdir)

self.dols()

def setdirandgo(self, ev=none):

self.last = self.cwd.get()

self.dirs.config(selectbackground='red')

chek = self.dirs.get(self.dirs.curselection())

if not chek:

chek = os.curdir

self.cwd.set(chek)

self.dols()

def dols(self, ev=none):

error = ''

tdir = self.cwd.get()

if not tdir:

tdir = os.curdir

if not os.path.exists(tdir):

error = tdir + ':未找到文件,请检查路径!'

elif not os.path.isdir(tdir):

error = tdir + ':不是一个路径!'

if error:

# self.cwd.set(error)

showinfo(title='提示',message=error)

self.top.update()

# sleep(2)

if not (hasattr(self, 'last') and self.last):

self.last = os.curdir

self.cwd.set(self.last)

self.dirs.config(selectbackground='lightskyblue')

self.top.update()

return

if not os.path.isdir(tdir):

self.cwd.set('')

else:

self.cwd.set('获取目录内容中...')

self.top.update()

dirlist = os.listdir(tdir)

dirlist.sort()

os.chdir(tdir)

self.dirl.config(text=os.getcwd())

self.dirs.delete(0, end)

self.dirs.insert(end, os.curdir)

self.dirs.insert(end, os.pardir)

for eachfile in dirlist:

self.dirs.insert(end, eachfile)

self.cwd.set(os.curdir)

self.dirs.config(selectbackground='lightskyblue')

def clrdir(self, ev=none):

self.cwd.set('')

if __name__ == '__main__':

dir = dirlist(os.curdir)

mainloop()

效果如下:

希望本文所述对大家python程序设计有所帮助。

希望与广大网友互动??

点此进行留言吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431410.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

左右伸缩_冬季装修为啥要留伸缩缝?等到天热地板开裂就晚了!合肥人注意下...

后台有粉丝问:冬天真的不适合做装修吗?假的,这句话不要再传了。每个季节都会有利有弊,只不过冬季施工过程中干燥的比较快,装修的时候对施工要求的更严格。就拿伸缩缝来说吧,冬天装修时不注意,等…

转折点(心得)

也许是刚开学不适应?反正就是心不静,给自己一天时间调整,马上好过来,加油!!!以后每天至少一道题,但是要是学到东西的题,加油!合理安排,有条不紊!转载于:https://www.cnbl…

php进入文件目录,php文件目录操作

新建文件1、先确定要写入文件的内容$content 你好;2、打开这个文件(系统会自动建立这个空文件)//假设新建的文件叫file.txt,而且在上级目录下。w表示‘写文件’,$fp下面要用到,表示指向某个打开的文件。$fp fopen(../file.txt, w);3、将内容…

python设计自定义栈类_Python如何自定义模块?Python基础教程,第十讲,自定义模块...

学完此次课程,我能做什么?通过此次课程,我们将学会如何自定义自己的模块和包,以及如何引用到自己的项目中,从而实现代码的复用。学习此次课程,需要多久?5-10分钟课程内容什么是Python的标准库&a…

windows.h和winsock2.h包含顺序问题(转)

windows.h和winsock2.h有类型重定义我是知道的,本来就一个库来说没问题,把winsock2放到windows.h前或先定义WIN32_LEAN_AND_MEAN都能解决问题但现的出了问题,自己写的一个库里要用到ws2tcpip,这个头文件第一个包含的头文件就是win…

java中软填空面试题,通过这9个Java面试题,就可以入职华为啦

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼1.Java程序的种类有(BCD )A.类(Class) B.Applet C.Application D.Servlet2.下列说法正确的有( BCD)A. 环境变量可在编译source code时指定B&#x…

红色警戒2修改器原理百科(七)

(十五)科技全开——前方高能,BOOM 其实这一小节,最晚应该在第四篇的十小节来讲述的,这样是按照一条线索来讲的,容易理解和把握笔者修改时的思路,以一点逐渐扩大。由于笔者的一些原因&#xff08…

python两个线程交替打印_三线程按顺序交替打印ABC的四种方法

建立三个线程A、B、C,A线程打印10次字母A,B线程打印10次字母B,C线程打印10次字母C,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印。二、Synchronized同步法1、基本思路使用同步块和wait、noti…

支付宝支付php代码示例,Laravel使用支付宝进行支付的示例代码

/*支付*/public function pay(){header("content-type:text/html;charsetutf8");//echo 1;die;// ******************************************************配置 start*******************************************************************************************…

关于开发中的常用手段(个人建议)

由于最近在一家外包公司 做项目 (团队开发 3个人) 有个朋友一起 我们研究出一套 相对来说 速度和效率都比较高的开发方法。 1. 搭建界面 对于一个程序来说 无疑刚上来就要看原型 看UI 看切图 所以界面是首要做的 那么我来说下做界面的常用方法仅个人看法…

wpf click事件在触摸屏上点击第一次没反应_你的PLC和你的触摸屏为什么总是通讯不上?...

三菱PLC全系列资料免费送啦!想要撩我(点击上方红字,免费领资料)很多师傅有以下这些问题,其实除去厂家自行定义的通讯方式外,我们在做项目的时候最常用的通讯方式,通讯不上无非就是这几个原因是否选择正确通讯协议(modb…

php索引数组相等,php二维数组中子数组的某一键相等,其余键值求和

需要处理的数组Array([0] > Array([uid] > 1[price] > 85.00[earnings] > 40.00)[1] > Array([uid] > 8[price] > 56.00[earnings] > 31.00)[2] > Array([uid] > 15[price] > 56.00[earnings] > 31.00)[3] > Array([uid] > 15[price…

ubuntu 开放端口_Masscan端口扫描工具使用小手册

1Masscan介绍1.1 Masscan简介1) nmap是端口扫描仪的合法王位,而今天仍然是最通用的选择。但对于纯粹的速度也有一些已经超越了它,包括scanrand,unicornscan,zmap,和现在的masscan(https://github.com/robertdavidgraha…

MFC类的结构

1. CObject类,MFC库中绝大部分类的基类,封装了MFC中的最基本机制。 运行时类信息机制/动态创建机制/序列化机制等。。。 2. CCmdtarget - 消息映射机制最基类 3. CWinThread/CWinApp- 应用程序类,负责整个程序的执行流程。 4. CDocment及子类…

php base64安全吗,php base64

场景:PHP 用base64兑现加密解密PHP 用base64实现加密解密php中用base64实现加密解密: base64_encode() 和 base64_decode() 进行加密和解密.语法: string base64_encode ( string data )使用 base64 对 data 进行编码。设计此种编码是为了使二进制数据可以通过…

hdu4277 暴力

hdu4277 暴力 USACO ORZ Time Limit : 5000/1500ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 4 Accepted Submission(s) : 2 Problem DescriptionLike everyone, cows enjoy variety. Their current fancy is new shapes for pastu…

多线程设置操作时间间隔_听说,有位Java程序员学完这59道多线程面试题之后,直接面上阿里...

前言多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。软件多线程&…

在php中源代码怎么查看,查看PHP Closure的源代码

您可以从PHP获得的是有限的,使用反射您只需获取函数的参数签名以及源代码文件的开始和结束行.我曾经写过一篇博客文章:http://www.metashock.de/2013/05/dump-source-code-of-closure-in-php/ ……它引导我使用反射以下代码:function closure_dump(Closu…

nginx禁止访问目录中可执行文件

某些网站系统需要用户上传图片等文件到某些目录下,难免程序有些漏洞,导致用户上传了php、cgi等等可执行的文件,导致网站陷入非常为难的境地. 此时我们可以通过nginx来禁止用户访问这些目录下的可执行文件。 nginx配置 1234location ~* /(images|cache|media|logs|tm…

svm多分类代码_监督学习——分类算法I

本文是监督学习分类算法的第一部分,简单介绍对样本进行分类的算法,包括判别分析(DA)支持向量机(SVM)随机梯度下降分类(SGD)K近邻分类(KNN)朴素贝叶斯分类(NaiveBayes)判别分析(Discriminant Analysis) 判别分析是基于条件概率的分类方法,可以…