python 桌面开发实例-(三)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('',click)

listbox.grid(row = 1, column = 0, columnspan = 5)

root.mainloop()

实现效果:

第一步:打开一个可视化的桌面窗口:

1173942-20170711213236165-310907291.png

第二步:当关键字不输入时:

1173942-20170711213312259-834083254.png

第三步:当正确输入时,弹出文件选择窗口:

1173942-20170711213441743-470771303.png

1173942-20170711213506322-111263786.png

第四步:双击列表里的任意一条信息,打开文件:

1173942-20170711213557837-1185178588.png

注:

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开发:由界面----> 功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值