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

  1. pythonguitkinter编程入门_Python Tkinter GUI编程入门介绍

    一.Tkinter介绍 Tkinter是一个python模块,是一个调用Tcl/Tk的接口,它是一个跨平台的脚本图形界面接口.Tkinter不是唯一的python图形编程接口,但是是其中比较流行的一个 ...

  2. python海龟作图好看图案_编程入门 06:Python 海龟绘图

    编程入门 06:Python 海龟绘图 现在让我们开始尝试图形用户界面 (GUI) 程序的编写 Python 标准库中有个 turtle 模块, 可以生成标准的应用程序窗口进行图形绘制 turtle ...

  3. 青少年python编程入门书-青少年Python编程入门——图解Python

    商品详情 书名:青少年Python编程入门--图解Python 定价:69.8 ISBN:9787121395543 作者:傅骞 版次:第1版 出版时间:2020-09 内容提要: 本书介绍pytho ...

  4. r matlab spss,特别放送 | 零基础编程入门:Python、Matlab、R、SPSS资料大放送

    原标题:特别放送 | 零基础编程入门:Python.Matlab.R.SPSS资料大放送 我们一直相信: 一切不能实实在在帮助到同学的资料 都是耍流氓 小助手的目标是: 做一次又一次真正有价值.愉悦感 ...

  5. python游戏编程入门源代码_python游戏编程入门源代码

    [实例简介] <Python游戏编程入门>的源代码,作者Jonathan S.Harbour 很好的资源,希望对学习python的同学有帮助,代码都可以运行 [实例截图] [核心代码] p ...

  6. 青少年python编程入门书籍_新书推荐 | 《青少年Python编程入门——图解Python》

    原标题:新书推荐 | <青少年Python编程入门--图解Python> 随着信息时代的到来,在编程教育中进行计算思维培养正在成为信息技术教育关注的重点.<普通高中信息技术课程标准( ...

  7. python编程入门经典-Python编程入门经典PDF文档免费下载

    作为一门面向对象的开源编程语言,python易于理解和扩展,并且使用起来非常方便.<python编程入门经典>涵盖了python的方方面面,通过学习本书,读者可以立即使用python编写程 ...

  8. python编程入门视频教程-PYTHON编程从0到1(视频教学版)

    本书以Python语言构建了程序设计基础课程的教学体系.本书在对程序设计核心方法的探讨上较其他Python书籍更为全面和深入.通过对本书内容的学习,读者将全面地掌握用Python进行程序设计的基本能力 ...

  9. python快速编程入门例题-Python快速编程入门,打牢基础必须知道的11个知识点 !...

    Python被誉为全世界高效的编程语言,同时也被称作是"胶水语言",那它为何能如此受欢迎,下面我们就来说说Python入门学习的必备11个知识点,也就是它为何能够如此受欢迎的原因. ...

  10. python编程入门指南-Python编程入门指南(上下册)

    前言 第1篇 基础篇 第1章 搭建Python开发环境 1.1 Python概述 1.2 Python的下载与安装 1.3 Python开发工具 第2章 Python入门必学 2.1 注释 2.2 代 ...

最新文章

  1. 基于问题导向与成果产出的教学模式:《大数据与城市规划》特色课程
  2. linux命令作为子进程标记,Linux基础命令---显示进程ps
  3. mysql 数据库引擎切花_asyncio异步编程【含视频教程】
  4. 长春成人计算机学校有哪些专业学校,长春成人高考学校有哪些
  5. java doubke类型转换为String_Java基础知识面试题大集合
  6. 收集常用电路基础公式换算
  7. SRS 启动正常,拉流没画面,看SRS日志报错 srs is already running
  8. iOS 乱码问题之一
  9. 十大经典排序算法-堆排序算法详解
  10. 根据前序序列和中序序列重建二叉树
  11. 555低电平出发定时器
  12. python使用turtle库绘制奥运五环
  13. JavaScript 排序,不只是冒泡
  14. DNS是如何进行域名解析的?
  15. 《动手学深度学习》报错 解决方案RuntimeError: DataLoader worker (pid(s) ...) exited unexpectedly
  16. 倍福TwinCAT3 的OPC_UA通信测试案例
  17. IT圈子里鬼混---谈谈IT行业的一些生存之道!
  18. Java FX 表格数据赋值
  19. 虚拟机不能识别本地镜像
  20. mysql设计高考倒计时_HTML/CSS+JS制作一个高考倒计时页面

热门文章

  1. js-带操作的赋值表达式
  2. 尼姆博奕 (Nimm Game) 异或运算;
  3. Linux 常用命令笔记
  4. 机器学习算法库scikit-learn的安装
  5. WPF指南之一(WPF的结构)
  6. dial tcp 10.96.0.1:443: getsockopt: no route to host --- kubernetes(k8s)DNS 服务反复重启
  7. 201771010106东文财《面向对象程序设计(java)》实验12
  8. 在QLabel上同时显示文字和图片的方法
  9. 关于指针和链表中的一些问题
  10. navigationBar 颜色修改