本文实例讲述了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编程完整示例相关推荐

  1. python gui模板_Python GUI 编程(Tkinter) | 菜鸟教程

    Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...

  2. python交互界面实例_Python面向对象编程扑克牌发牌程序,另含大量Python代码!

    1. 题目 编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后, ...

  3. python 窗体编程_python窗体编程

    广告关闭 云服务器1核2G首年99年,还有多款热门云产品满足您的上云需求 python里的图形化界面(gui)模块主要有tkinter(python自带).pyqt.wxpython,我们这节主要讲解 ...

  4. python socket编程_Python Socket编程实现网络编程

    对于有经验的开发人员来说,掌握的编程语言应该是不少的.在这些编程语言中,网络编程的应用时必不可少的.其中Python也是这样的编程语言.我们今天将会在这里为大家详细介绍一下Python Socket编 ...

  5. python高级属性 用法 编程_python高级编程之面向对象高级编程

    1 面向对象编程 面向对象这节比较简单,就稍微总结几个特殊的点. 特殊方法__init__前后分别有两个下划线,__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init ...

  6. python支持哪些数据类型_Python支持的数据类型

    Python基本数据类型一般分为:数字.字符串.列表.元组.字典.集合 这六种基本数据类型. 数字 数字类型是不可更改的对象.对变量改变数字值就是 生成/创建 新的对象.Python支持多种数字类型: ...

  7. python视窗编程_Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)

    Tkinter支持16个核心的窗口部件,这个16个核心窗口部件类简要描述如下: Button:一个简单的按钮,用来执行一个命令或别的操作. Canvas:组织图形.这个部件可以用来绘制图表和图,创建图 ...

  8. python画五角星代码_Python GUI 编程tkinter--画五角星和简单的动画制作

    1.利用Python的tkinter画一个五角星: 2.做一个简单的动画 分析五角心的五个顶点的坐标: 确立五角星的中心点和半径,再确立五角星的五个角的坐标信息,其中五角星的各个角读书为36度,具体的 ...

  9. python计算利息程序_Python——GUI编程 利息计算器 作业9(python programming)-Go语言中文社区...

    importsysfrom PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * classcal ...

最新文章

  1. 为什么采用4~20mA的电流来传输模拟量?
  2. 015_JavaMail
  3. cachehelper java,初识EHCache缓存框架(2.x版本)
  4. maven之阿里云Maven镜像的使用
  5. h5应用 vue 钉钉_uniapp开发一个小视频应用(一)
  6. python获取网络信息_利用psutil获取网络信息
  7. python通信编程_python 通信编程
  8. 防火等级不达标!索尼宣布召回中国大陆地区部分充电宝 可免费换新
  9. 【Java】String hashCode 这个数字 31
  10. MyBatis的懒加载(延迟加载)
  11. 秀球技:倒和其他无用
  12. 大数据与云计算、物联网的关系
  13. 手绘几何图形识别(上)
  14. win7 64位安装 ie10/11失败
  15. 修改win服务器防火墙端口号,Windows Server 修改防火墙和远程桌面(3389)默认端口...
  16. 怎么把单个的pdf文件合并在一起?怎么把几个单独的pdf文件合并为一个?
  17. 已知函数fx=sin(wx+φ)_已知函数fx=Asin(wx+φ) (x∈R,A0,w0,0
  18. 将两个有序列表合并,并保持顺序(一)
  19. 安全帽识别系统-智慧船舶的守夜人
  20. 何时还完房贷-自由还款还款信息计算(JAVA)

热门文章

  1. Android 截图,截取指定view截图
  2. js将字符串 YYMMDDHHmmss 转化为 date类型
  3. mongoose 通过账号密码连接 Error: Password contains an illegal unescaped character
  4. zval php,PHP内核之zval
  5. java同步读写,关于java:Collections中的synchronizedMap方法是否同步读写操作
  6. parrot linux 安装grub,parrotsec 和 kali安装系统的时候出现“executing grub-install dummy”的解决方案...
  7. git bash上传大文件到github
  8. mybatis-plus 使用乐观锁修改
  9. 过滤器filter,监听器listener
  10. php 判断心跳包报错,第29问:MySQL 的复制心跳说它不想跳了