首页 > 代码库 > (三)Python 学习第三天--GUI桌面项目
(三)Python 学习第三天--GUI桌面项目
(代码参考了别人的代码,只做学习用途!!!最近因为写论文,好久没有记录,好内疚。。。今天学习了一个小案例,做一下)
主要使用模块:tkinter
代码如下:
from tkinter import *
from tkinter import messagebox as tkMessageBox
from tkinter import filedialog as tkFiledialog
import os
import fnmatch #fnmatch是一种函数,功能是指定的模式来匹配文件名或字符串。定义和用法语法 fnmatch(pattern,string,flags) 参数 描述 pattern 必需。
def search():
text = entry_1.get() #取值
if not text:
tkMessageBox.showinfo(‘Error‘,‘请输入关键字!‘)
return
fn = tkFiledialog.askdirectory()#选择文件夹
fnlist = os.walk( fn ) #列出目录
#对于os.walk的使用,产生一个可迭代的对象, 通常使用root,dirs,files来接收
#root:文件路径 dirs:子文件夹名称 files:文件名
for root, dirs, files in fnlist:
for i in fnmatch.filter(files, entry_2.get()):
filename = ‘%s/%s‘%(root,i)
listbox.insert(END, filename)
def click(event):
index = listbox.curselection()
path = listbox.get(index)
if not path:
return
window = Tk()
window.title(‘查看文件‘)
text = Text(window, width = 100) #多行文本框
text.grid()
fn_text = open(path).read()
text.insert(END, fn_text)
root = Tk()
root.title(‘第一个可视化窗口‘)
#root.geometry(‘300x200+1000+200‘) 可以使用缺省内容的方式,使窗口自动调节
root.geometry()
Label(root, text = ‘关键字:‘).grid()
entry_1 = Entry(root)
entry_1.grid(row=0, column =1)
Label(root, text = ‘文件类型:‘).grid(row = 0, column = 2)
entry_2 = Entry(root)
entry_2.grid(row = 0, column = 3)
button = Button(root, text = ‘选择文件‘, command=search)
button.grid(row = 0, column = 4)
listbox = Listbox(root, width = 80)
listbox.bind(‘<Double-Button-1>‘,click)
listbox.grid(row = 1, column = 0, columnspan = 5)
root.mainloop()
实现效果:
第一步:打开一个可视化的桌面窗口:
第二步:当关键字不输入时:
第三步:当正确输入时,弹出文件选择窗口:
第四步:双击列表里的任意一条信息,打开文件:
注:
1. 走过的坑,tkinter为自带类库,不需要从第三方加载,Python2中为Tkinter,但在Python3中为tkinter,并把一些子库放在tkinter中;
2.root = Tk(),实例化一个窗口对象; root.geometry(‘300x200+200+100‘) ==> 其中不是乘号符*,而是英文字母x,200为离屏幕左边的距离, 100为离屏幕右边的距离
3.from tkinter import messagebox , messagebox 为一个弹出的信息框;
4.from tkinter import filedialog , filedialog 为文件选择
5.GUI开发:由界面----> 功能
(三)Python 学习第三天--GUI桌面项目
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。