
Python
文章平均质量分 53
面向对象思考
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用Python3.10以上执行《实战Python设计模式》示例程序时,发生Iterable导入错误
使用Python3.10以上执行《实战Python设计模式》示例程序时,发生Iterable导入错误原创 2022-09-18 14:05:20 · 650 阅读 · 0 评论 -
Python GUI编程入门(37)-通用的ListView类
Tkinter主题控件的Treeview除了体统树状视图之外,还可以提供列表视图。但是由于控件本身的复杂性,如果想正确的使用这个控件,或多或少都需要一些时间来调查和学习。本文提供一个通用的ListView类以简化这个过程。这个类除了提供一般的列表功能之外,还提供一个简单的就地编辑功能:当用户双击文件名时,可以触发一个文本输入框直接编辑文件名。class ListVie...原创 2019-11-04 18:57:24 · 3290 阅读 · 1 评论 -
Python GUI编程入门(36)-通用的对话框类
图还是原来那个图,本文继续优化代码的过程。以下是前面说明使用过的构建文件重命名对话框的代码,功能是构建一个修改文件名对话框。# 构建顶层窗口作为对话框rename_dlg = Toplevel(takefocus=True)# 指定窗口标题rename_dlg.title('Rename')# 禁止窗口尺寸调整rename_dlg.resizable(width=Fals...原创 2019-10-31 19:51:54 · 800 阅读 · 0 评论 -
Python GUI编程入门(35)-生成带有滚动功能控件的scrollable函数
当程序达到一定规模后,经常会希望构建带滚动功能的控件。例如下图中的FileBrowser,无论是左侧的TreeView还是右侧的ListView都带有水平和垂直两个Scrollbar控件。Tkinter中生成带有Scrollbar的控件的代码大致如下:#生成Frame容器以容纳TreeView,Scrollbartree_area = Frame(paned_wind...原创 2019-10-30 20:18:31 · 1080 阅读 · 0 评论 -
Python GUI编程入门(34)-自定义对话框
前一篇文章在介绍弹出菜单的同时还使用了消息对话框,本文接着这个话题以修改文件名为例说明如何根据需要定义自己的对话框。首先在弹出菜单中增加修改文件名菜单项:def rbutton_down(event): iid = list_view.identify_row(event.y) if iid: if iid not in list_view.s...原创 2019-10-29 20:00:31 · 1399 阅读 · 0 评论 -
Python GUI编程入门(33)-PopupMenu和消息Dialog
弹出菜单和消息对话框也是构成完成程序必不可少的部分,本文继续以FileBrowser为例进行说明。还是先看动作视频:视频链接首先获取选中文件信息的函数,它会在后续的处理中被调用。def selected_files(): try: dir_node = tree_view.focus() if dir_node: ...原创 2019-10-28 17:56:33 · 851 阅读 · 0 评论 -
Python GUI编程入门(32)-Themed Widget
ThemedWidget分类名称的由来就是这类控件可以统一切换控件的风格。以下视频就是前文说明的FileBrower增加切换主题的例子。注意观察切换主题时,Scrollbar,PanedWindow,Treeview风格的变化。视频链接本例代码的绝大部分来自上一篇文章,以下只说明和主题切换有关的部分。。首先构建一个主题菜单。theme_menu = Menu(top_men...原创 2019-10-23 19:39:12 · 522 阅读 · 0 评论 -
Python GUI编程入门(31)-Treeview控件
Treeview是Tkinter8.5新引入的控件,可以用于实现较为复杂的GUI界面。本文使用一个FileBrowser实例来说明它的用法。构建主窗口和退出菜单的代码和前一篇文章几乎相同:root = Tk()root.title('Tkinter Treeview and PanedWindow Demo V1.0')root.grid_rowconfigure(0, wei...原创 2019-10-22 19:44:31 · 6933 阅读 · 0 评论 -
Python GUI编程入门(30)-Sizegrip控件
Sizegrip就是下图右下角红圈中那个用来调整窗口大小的小控件。先看动作视频:视频链接从视频中可以看到,一切都是那么的自然。但是由于Tkinter中调整窗口的逻辑多少有些另类,本来简单的事情实际上并不简单。首先是构建主窗口。root = Tk()root.title('Tkinter Sizegrip Demo V1.0')screen_w = root.winfo...原创 2019-10-21 20:09:18 · 1202 阅读 · 0 评论 -
Python GUI编程入门(29)-Notebook控件
Tkinter中的Notebook控件相当于Windows中的TabCtrl控件,可以让用户在多可控件布局之间进行切换,下面到视频就是在Demo1,Demo2之间进行切换的例子:视频链接由于本例中大量使用了前面两篇文章的代码,这里不再重复了,只给出Notebook相关的部分。首先是构建Notebook对象:notebook = Notebook(root)notebo...原创 2019-10-16 19:47:01 · 1440 阅读 · 0 评论 -
Python GUI入门(27)-Themed widget
经过了二十几篇的介绍,相信读者已经基本掌握了Python自带的GUI库Tkinter的用法了。使用Tkinter库可以定义每个控件的风格,但这样做的另一个侧面就是软件的风格会独立于操作系统,多少会显得有些另类。例如前面文章讲到的计算器界面就是如此。为了解决这个问题,在8.5版以后,Tkinter有提供了另外一套ttk控件。这些控件在基本继承tkinter控件用法的基础上对控件的用法进行了调...原创 2019-10-14 21:03:17 · 1079 阅读 · 0 评论 -
Python开发小技巧:增加工具包
Python语言的一个重要优势之一就是可以找到非常多的工具包及其示例代码。但是大多数文章在介绍示例代码的时候一般并不会说明这些工具包是如何安装的。本文就来解决这个问题。下面是使用PyCharm学习Matplotlib时的情况。PyCharm中输入以下代码:import matplotlib.pyplot as pltfig = plt.figure()ax = fig.add_su...原创 2019-09-23 19:43:53 · 603 阅读 · 0 评论