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程序设计有所帮助。
希望与广大网友互动??
点此进行留言吧!
python支持gui编程_Python GUI编程完整示例相关推荐
- python gui模板_Python GUI 编程(Tkinter) | 菜鸟教程
Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...
- python交互界面实例_Python面向对象编程扑克牌发牌程序,另含大量Python代码!
1. 题目 编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后, ...
- python 窗体编程_python窗体编程
广告关闭 云服务器1核2G首年99年,还有多款热门云产品满足您的上云需求 python里的图形化界面(gui)模块主要有tkinter(python自带).pyqt.wxpython,我们这节主要讲解 ...
- python socket编程_Python Socket编程实现网络编程
对于有经验的开发人员来说,掌握的编程语言应该是不少的.在这些编程语言中,网络编程的应用时必不可少的.其中Python也是这样的编程语言.我们今天将会在这里为大家详细介绍一下Python Socket编 ...
- python高级属性 用法 编程_python高级编程之面向对象高级编程
1 面向对象编程 面向对象这节比较简单,就稍微总结几个特殊的点. 特殊方法__init__前后分别有两个下划线,__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init ...
- python支持哪些数据类型_Python支持的数据类型
Python基本数据类型一般分为:数字.字符串.列表.元组.字典.集合 这六种基本数据类型. 数字 数字类型是不可更改的对象.对变量改变数字值就是 生成/创建 新的对象.Python支持多种数字类型: ...
- python视窗编程_Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
Tkinter支持16个核心的窗口部件,这个16个核心窗口部件类简要描述如下: Button:一个简单的按钮,用来执行一个命令或别的操作. Canvas:组织图形.这个部件可以用来绘制图表和图,创建图 ...
- python画五角星代码_Python GUI 编程tkinter--画五角星和简单的动画制作
1.利用Python的tkinter画一个五角星: 2.做一个简单的动画 分析五角心的五个顶点的坐标: 确立五角星的中心点和半径,再确立五角星的五个角的坐标信息,其中五角星的各个角读书为36度,具体的 ...
- python计算利息程序_Python——GUI编程 利息计算器 作业9(python programming)-Go语言中文社区...
importsysfrom PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * classcal ...
最新文章
- 为什么采用4~20mA的电流来传输模拟量?
- 015_JavaMail
- cachehelper java,初识EHCache缓存框架(2.x版本)
- maven之阿里云Maven镜像的使用
- h5应用 vue 钉钉_uniapp开发一个小视频应用(一)
- python获取网络信息_利用psutil获取网络信息
- python通信编程_python 通信编程
- 防火等级不达标!索尼宣布召回中国大陆地区部分充电宝 可免费换新
- 【Java】String hashCode 这个数字 31
- MyBatis的懒加载(延迟加载)
- 秀球技:倒和其他无用
- 大数据与云计算、物联网的关系
- 手绘几何图形识别(上)
- win7 64位安装 ie10/11失败
- 修改win服务器防火墙端口号,Windows Server 修改防火墙和远程桌面(3389)默认端口...
- 怎么把单个的pdf文件合并在一起?怎么把几个单独的pdf文件合并为一个?
- 已知函数fx=sin(wx+φ)_已知函数fx=Asin(wx+φ) (x∈R,A0,w0,0
- 将两个有序列表合并,并保持顺序(一)
- 安全帽识别系统-智慧船舶的守夜人
- 何时还完房贷-自由还款还款信息计算(JAVA)
热门文章
- Android 截图,截取指定view截图
- js将字符串 YYMMDDHHmmss 转化为 date类型
- mongoose 通过账号密码连接 Error: Password contains an illegal unescaped character
- zval php,PHP内核之zval
- java同步读写,关于java:Collections中的synchronizedMap方法是否同步读写操作
- parrot linux 安装grub,parrotsec 和 kali安装系统的时候出现“executing grub-install dummy”的解决方案...
- git bash上传大文件到github
- mybatis-plus 使用乐观锁修改
- 过滤器filter,监听器listener
- php 判断心跳包报错,第29问:MySQL 的复制心跳说它不想跳了