- 博客(13)
- 资源 (24)
- 收藏
- 关注
原创 Python GUI编程入门(36)-通用的对话框类
图还是原来那个图,本文继续优化代码的过程。以下是前面说明使用过的构建文件重命名对话框的代码,功能是构建一个修改文件名对话框。# 构建顶层窗口作为对话框rename_dlg = Toplevel(takefocus=True)# 指定窗口标题rename_dlg.title('Rename')# 禁止窗口尺寸调整rename_dlg.resizable(width=Fals...
2019-10-31 19:51:54 736
原创 Python GUI编程入门(35)-生成带有滚动功能控件的scrollable函数
当程序达到一定规模后,经常会希望构建带滚动功能的控件。例如下图中的FileBrowser,无论是左侧的TreeView还是右侧的ListView都带有水平和垂直两个Scrollbar控件。Tkinter中生成带有Scrollbar的控件的代码大致如下:#生成Frame容器以容纳TreeView,Scrollbartree_area = Frame(paned_wind...
2019-10-30 20:18:31 979
原创 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 1315
原创 Python GUI编程入门(33)-PopupMenu和消息Dialog
弹出菜单和消息对话框也是构成完成程序必不可少的部分,本文继续以FileBrowser为例进行说明。还是先看动作视频:视频链接首先获取选中文件信息的函数,它会在后续的处理中被调用。def selected_files(): try: dir_node = tree_view.focus() if dir_node: ...
2019-10-28 17:56:33 774
原创 Python GUI编程入门(32)-Themed Widget
ThemedWidget分类名称的由来就是这类控件可以统一切换控件的风格。以下视频就是前文说明的FileBrower增加切换主题的例子。注意观察切换主题时,Scrollbar,PanedWindow,Treeview风格的变化。视频链接本例代码的绝大部分来自上一篇文章,以下只说明和主题切换有关的部分。。首先构建一个主题菜单。theme_menu = Menu(top_men...
2019-10-23 19:39:12 460
原创 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 6492
原创 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 1048
原创 Python GUI编程入门(29)-Notebook控件
Tkinter中的Notebook控件相当于Windows中的TabCtrl控件,可以让用户在多可控件布局之间进行切换,下面到视频就是在Demo1,Demo2之间进行切换的例子:视频链接由于本例中大量使用了前面两篇文章的代码,这里不再重复了,只给出Notebook相关的部分。首先是构建Notebook对象:notebook = Notebook(root)notebo...
2019-10-16 19:47:01 1351
原创 Python GUI编程入门(28)-Themed widget(续)
本文说明Ttk库中菜单按钮Menubutton、进度条Progressbar和组合列表框Combobox的用法。首先看视频:视频链接首先是菜单按钮Menubutton。代码中只是简单构建了一个退出菜单。menu = Menubutton(root, text="File")menu.grid(row=0, column=0, sticky=W)file_menu = Men...
2019-10-15 19:48:23 444
原创 Python GUI入门(27)-Themed widget
经过了二十几篇的介绍,相信读者已经基本掌握了Python自带的GUI库Tkinter的用法了。使用Tkinter库可以定义每个控件的风格,但这样做的另一个侧面就是软件的风格会独立于操作系统,多少会显得有些另类。例如前面文章讲到的计算器界面就是如此。为了解决这个问题,在8.5版以后,Tkinter有提供了另外一套ttk控件。这些控件在基本继承tkinter控件用法的基础上对控件的用法进行了调...
2019-10-14 21:03:17 1016
原创 Tkinter编程应知应会(26)-通过OptionDB控制控件属性
到前一篇文章为止,我们基本上对Tkinter中的每一种基本控件都进行了简单的说明。在这些的示例代码中,用户可以通过属性控制每个控件的前景色,背景色,字体等各种属性。这种方式的直观易懂,但是存在几个缺点:1.即使希望同样的设定,也需要每个控件单独制定。2.设定信息淹没在代码中,无论是增减还是调整属性都需要修改代码。麻烦不说还有可能破坏代码的完整性。这两个问题都可以通过Tkinter提供的...
2019-10-11 19:39:43 940 1
原创 Tkinter编程应知应会(25)-移动Canvas对象
Canvas对象生成之后,有时会希望调整对象的位置。例如前面文章中提到的时钟小程序,我们稍加改造可以另外实现一个指针式时钟:在这个小程序中增加的功能就是根据具体时间计算每个指针的坐标信息,这部分功能在时钟类Clock中实现。这个Clock类修改自前一篇文章中的DitialClock类:class Clock: def __init__(self, canvas,...
2019-10-10 19:59:30 1148
原创 Tkinter编程应知应会(24)-引入定时器功能
GUI程序除了要接受用户操作并提供必要的反馈之外,还经常需要自发地进行一些处理。对于大部分开发语言来讲引入一个定时器通常是最简单的选择。本文介绍如何Tkinter中定义和使用自己的定时器。下面的代码就是利用Tkinter控件的after功能实现的一个可复用的Timer类。class Timer: def __init__(self, wnd, ms, ca...
2019-10-09 19:53:22 705
Aduino UNO D1 R32 硬件包
2020-03-15
[Android应用开发记录-字幕播放器(5)完善]附属工程,源码
2011-09-07
Android应用开发记录-字幕播放器(5)完善附带工程,源码
2011-09-07
LyricPlayer for Android 2.1
2011-09-03
Android应用开发记录-字幕播放器(4)完成
2011-08-28
Android下的原创小游戏-九宫格
2011-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人