pythongui入门实例大全详细教程全_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()

效果如下:

2967a8f2f109616acfd0e93c8c68330b.png

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

# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'aaa.ui' # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this file will be lost! import sys, os from PyQt5 import QtCore, QtWidgets, QtGui from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5 import QtCore, QtGui, QtWidgets class U_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1204, 836) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth()) MainWindow.setSizePolicy(sizePolicy) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.tableWidget = QtWidgets.QTableWidget(self.centralwidget) self.tableWidget.setGeometry(QtCore.QRect(80, 240, 1041, 371)) self.tableWidget.setAutoScrollMargin(9) self.tableWidget.setRowCount(9) self.tableWidget.setColumnCount(8) self.tableWidget.setObjectName("tableWidget") item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(2, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(3, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(4, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(5, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(6, item) item = Q
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值