(三)Python 学习第三天--GUI桌面项目

(代码参考了别人的代码,只做学习用途!!!最近因为写论文,好久没有记录,好内疚。。。今天学习了一个小案例,做一下)

主要使用模块:tkinter

代码如下:

from tkinter import *from tkinter import messagebox as tkMessageBoxfrom tkinter import filedialog as tkFiledialogimport osimport 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开发:由界面----> 功能

时间: 2024-11-03 05:25:23

(三)Python 学习第三天--GUI桌面项目的相关文章

OpenCV for Python 学习笔记 三

给源图像增加边界 cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) src:源图像 top,bottem,left,right: 分别表示四个方向上边界的长度 borderType: 边界的类型 有以下几种: BORDER_REFLICATE # 直接用边界的颜色填充, aaaaaa | abcdefg | gggg BORDER_REFLECT # 倒映,abcdefg | gfedcbamn | nmabcd

Python学习第三天--数据类型

数据类型: int()  整型 float()浮点型 e记法   (有点像数学中的科学计数法) 知识点概括: 字符相加,结果为和 >>> 520 + 5201040 2.字符串相加,结果为"拼接" >>> '520'+'1314''5201314' 3.逻辑运算,python认为True=1,False=0,(True和False第一个字母必须为大写) >>> True + True 2 >>> True - Tr

python 学习笔记 三 字典

字典 Python的高效的key/value哈希表结构叫做"dict", dict的内容可以写成一系列的key:value对并放入{ }中, 相当于: dict = {key1:value1, key2:value2, ...}, 一个空的字典就是俩个大括号{ }. 下面是从一个空字典创建字典以及一些关键点: 数字, 字符串和元组可以作为字典的key, value可以是任何类型(包括字典). ## Can build up a dict by starting with the the

Python学习(三):入门篇:Python中怎么编写类

Python中怎么编写类 Last Edit 2013/5/2 先看一个例子: #person.py class person: """class to representaion a person""" def __init__(self,name,age): self.name=name if 0<age<=150: self.age=age else: print 'age is no valid!' def display(s

Python学习(三) 八大排序算法的实现(下)

本文Python实现了插入排序.基数排序.希尔排序.冒泡排序.高速排序.直接选择排序.堆排序.归并排序的后面四种. 上篇:Python学习(三) 八大排序算法的实现(上) 1.高速排序 描写叙述 通过一趟排序将要排序的数据切割成独立的两部分,当中一部分的全部数据都比另外一部分的全部数据都要小,然后再按此方法对这两部分数据分别进行高速排序,整个排序过程能够递归进行,以此达到整个数据变成有序序列. 1.先从数列中取出一个数作为基准数. 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全

python学习笔记三---segmaphore信号量学习

# *-* coding=gb2312 *-* ''' 信号量semaphore 是一个变量,控制着对公共资源或者临界区的访问.信号量维护着一个计数器,指定可同时访问资源或者进入临界区的线程数. 每次有一个线程获得信号量时,计数器-1.若计数器为0,其他线程就停止访问信号量,直到另一个线程释放信号量. ''' import threading import random import time class MyThread(threading.Thread): availableTables=[

Python学习(三)数据结构

Python 数据结构 本章介绍 Python 主要的 built-type,包括如下: Numeric types          int float Text Sequence Type       str Boolean              bool Sequence  Types        list tuple range Mapping Types          dict Set Types             set type() 函数 type(object)

python 学习(三)

按照上次python 学习(二)的思路,第一步要实现从一个网站的页面上自动获取指定列表中的信息.折腾数日,得到一段可以正常运行的代码,如下: 1 #web2.py 2 3 import re 4 import urllib.request 5 6 def get_msg_for_url(s): 7 8 if s =='': 9 print("not url!\n") 10 exit() 11 12 ah_whdeps_url = {"ahswht":"ht

Python学习笔记三)

Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)-------------------------------------------- 十.Python标准库 Python标准库是随Pthon附带安装的,包含了大量极其有用的模块. 1. sys模块 sys模块包含系统对应的功能 sys.argv ---包含命令行参数,第一个参数是py的文件名 sys.platform ---返回平台类型 sy