技术背景 Tkinter是一个Python自带的GUI框架,虽然现在主流的还是用pyqt的多一些,但是Tkinter在环境配置上可以节省很多工作,可以用来做一些小项目。...本文主要介绍一些简单的Tkinter的示例,比如文本框定义、标签定义和TreeView定义等。...窗口初始化 最基本的来说,类似于代码界的Hello Word,我们可以用Tkinter创建一个简单的窗体: import tkinter as tk # 主窗口 root = tk.Tk() root.title...grid布局,行和列分别用row和column来设定: import tkinter as tk from tkinter import ttk root = tk.Tk() root.title('Title...Frame是从Widget继承过来的,可以加一些边框阴影什么的,这里我们先用Frame来做一个简单示例: import tkinter as tk from tkinter import ttk root
只能对一些概念侃侃而谈,但真的会几行代码,能写出实用工具吗? 答案变得模糊。 所以我们要从现在开始,学好python,不要再糊弄下去!!!...它可以让用户通过拖动来改变窗口的大小。在Qt中,可以使用QSizeGrip类来创建Sizegrip组件。...组件 Treeview组件是一种可以在GUI界面中显示树形结构信息的组件,它通常用于显示文件夹结构、目录结构等。...在Python中,可以使用Tkinter库中的Treeview组件来实现这个功能。...# coding=gbk from tkinter import ttk import tkinter as tk root=tk.Tk() tree=ttk.Treeview(root) tree[
不需要用户手动创建 Model 对象, 直接就可以往 QTableWidget 中添加数据了. 1. List Widget 使用 QListWidget 能够显示⼀个纵向的列表....注意: ListWidget 是 ListView 的⼦类,功能⽐ ListView 更丰富,咱们使⽤ ListWidget 即可. 2)编写 widget.cpp, 在构造函数中添加初始元素 Widget...里面的每个元素, 都是⼀个 QTreeWidgetItem , 每个 QTreeWidgetItem 可以包含多个⽂本和图标, 每个⽂本/图标为⼀个 列....可以给 QTreeWidget 设置顶层节点(顶层节点可以有多个), 然后再给顶层节点添加⼦节点, 从而构成树形结构....注意: TreeWidget 是 TreeView 的⼦类, 功能⽐ TreeView 更丰富.
---- 一、基础界面设计 我们新建一个900x640的窗口,顶部加入图片,下面主体部分创建两个Panedwindow容器,左边添加按钮,右边作为TreeView显示界面; from tkinter import...* from tkinter.ttk import * import os class MainWindow(Tk): def __init__(self): super(...if __name__ == '__main__': this_main = MainWindow() this_main.mainloop() 显示效果: 注意:tkinter在...二、添加查询区域 在右边的Pannedwindow容器中,添加一个LabelFrame容器作为查询区域,在LabelFrame容器中添加一系列的Label、Entry、Button控件,可以输入学号、姓名...三、加载Treeview控件 创建控件、设置对齐方式和每个列的标题 # 添加TreeView控件 self.Tree = Treeview(self.Pane_right,columns=("sno",
Python环境就可以直接使用; 1....2. grid表格布局 grid是一种网格布局,grid(row = 1,column = 2),n行n列分别表示表格的行数和列数,从0开始计数;可以使用参数sticky控制控件靠近单元格的位置,字符值可以给出...提示: 实现窗体的关闭,可以使用方法self.frame.destory()关闭窗体; # 用户登录 from tkinter import * from tkinter.messagebox import...ttk模块是tkinter下的一个子模块,它的界面比tkinter更丰富更美观。...树状视图TreeView # Treeview控件 from tkinter import * from tkinter.ttk import * root = Tk() root.title("TreeView
通过结合使用 QListWidget 的属性、方法和信号,以及 QListWidgetItem 的方法,可以创建高度定制化的列表控件。...使用 TreeWidget (1)在界面上创建一个 TreeView,右键 => 变形为 => TreeWidget,再创建一个 lineEdit 和两个按钮 注意:TreeWidget 是 TreeView...的子类,功能比 TreeView 更丰富。...Tab Widget – 标签页 使用 QTabWidget 实现一个带有标签页的控件,可以往里面添加一些 widget,进一步的就可以通过标签页切换。...此时的三个按钮的尺存和位置都是自动计算出来的 Layout 里面可以再嵌套上其他的 layout,从而达到更复杂的布局效果 【嵌套的 layout】 在代码中创建以下内容,使用 addLayout 给
# 简介 Python丰富的第三方库中自然也包括wifi的API,可以很方便的实现wifi的连接。如果有一份详细的密码本,可以实现wifi密码的暴力破解,前提是你有足够的耐心和时间去等待。...# 完整代码 # coding:utf-8 from tkinter import * from tkinter import ttk import pywifi from pywifi import...const import time import tkinter.filedialog import tkinter.messagebox class MY_GUI(): def __init_...() self.get_value.set(self.filename) #Treeview绑定事件 def onDBClick(self,event): self.sels...= event.widget.selection() self.get_wifi_value.set(self.wifi_tree.item(self.sels,"values")[1])
# 简介 Python丰富的第三方库中自然也包括wifi的API,可以很方便的实现wifi的连接。如果有一份详细的密码本,可以实现wifi密码的暴力破解,前提是你有足够的耐心和时间去等待。...# 完整代码 # coding:utf-8 from tkinter import * from tkinter import ttk import pywifi from pywifi import...const import time import tkinter.filedialog import tkinter.messagebox class MY_GUI(): def __init_...() self.get_value.set(self.filename) #Treeview绑定事件 def onDBClick(self,event): self.sels=...event.widget.selection() self.get_wifi_value.set(self.wifi_tree.item(self.sels,"values")[1])
其次通过显示出来的wifi列表,如果想对某个wifi进行破解,只需点击该行,就可以将该wifi的名称获取到。 最后需要将使用密码字典文件导入进来实施破解即可。...实验步骤:分两步 step1:编写界面代码 这一步需要使用tkinter模块,这是python自带的图形界面库,通过import tkinter调用使用就可以了,代码中set_init_window函数就是实现界面排版功能...wifi 开始破解:破解之前需要获取wifi和密码文件路径 目录路径:显示密码字典文件的路径 wifi账号:显示的是所要破解的wifi名称 wifi密码:显示的是所要破解WiFi的密码 wifi列表中包括四列,...4、断开所有的wifi以后,我们就可以进行破解了, 从(.txt)文档中一行一行读取我们的密码字典, 一遍一遍的刷密码,直到返回isOK为True,表示破解成功。...() self.get_value.set(self.filename) #Treeview绑定事件 def onDBClick(self,event): self.sels= event.widget.selection
进一步也可以将上述脚本打包生成 exe 文件,双击运行效果如下: 图形化界面 下面基于 Python 的 GUI 图形界面开发库 Tkinter 优化上述脚本,实现友好的可视化 WIFI 暴力破解界面工具...关于 Tkinter 库的语法可参见:Python GUI编程(Tkinter)。...self.sels = event.widget.selection() self.get_wifi_value.set(self.wifi_tree.item(self.sels, "...,实际上 Python 的 GUI 编程可以借助 PyQt5 来自动生成 UI 代码。...- EOF - 我们爬虫第二期来了,加入我们,学更实用,更值钱的 Python 技术!
Tkinter GUI 编程教程 Tkinter 是 Python 的标准 GUI 库,可以快速创建图形用户界面。本教程将带你从基础开始学习 Tkinter。 1....tk.Button(root, text="登录").grid(row=2, column=0, columnspan=2, pady=20, sticky=tk.EW) # 配置列权重,使第二列可以伸缩...# 创建树形视图显示任务 columns = ("序号", "任务", "创建时间", "状态") self.tree = ttk.Treeview...selected = self.tree.selection() if selected: if messagebox.askyesno("确认", "确定要删除选中的任务吗?...请选择要删除的任务") def clear_all(self): if self.tasks and messagebox.askyesno("确认", "确定要清空所有任务吗?
只能对一些概念侃侃而谈,但真的会几行代码,能写出实用工具吗? 答案变得模糊。 所以我们要从现在开始,学好python,不要再糊弄下去!!!...这些控件包括按钮、标签、文本框等,可以帮助开发者更方便地创建用户界面。...你可以根据需要修改选项的数量和内容。...页签Notebook class Notebook(Widget): """Ttk Notebook widget manages a collection of windows and displays...Ttk Notebook 小部件管理窗口和显示的集合 每个子窗口都与一个选项卡相关联, 用户可以选择它来更改当前显示的窗口。
QTreeView使用2——复选框的设置 QTreeView 和 QStandardItemModel的使用 QtreeView是ui中最常用的控件,Qt中QTreeWidget比QTreeView更简单...添加树形控件的根条目可以使用 appendRow 函数, setItem也可以。...但是第二列的信息怎么添加呢。...其实道理一样, QStandardItemModel 的 setItem和 QStandardItem的 setChild函数都有关于列的重载,具体看下面的代码: QStandardItem*...“信息”: void Widget::on_treeView_clicked(const QModelIndex &index) { QString str; str += QStringLiteral
利用python、tkinter开发、打包成单机版exe软件工具,可以在本地电脑打开软件对Excel(xlsx、csv)的文件,按照给定行数进行拆分。...import *import tkinter.ttk as ttkfrom tkinter.filedialog import *from tkinter import messageboximport...填充整个窗口空间 # 设置列标题(需要手动设置每一列) tree['columns'] = list(df_temp.columns) # 获取列名作为列标题列表...for col in df_temp.columns: tree.heading(col, text=col) # 设置列标题文本和列ID相同,即列名本身。...tree.column(col, width=100, anchor='center') # 设置列宽和居中对齐方式。可以根据需要调整。
try: choose = str(input(f'你选择要破解的WiFi名称是:{wifi_list[target_num][1]},确定吗?...进一步也可以将上述脚本打包生成 exe 文件,双击运行效果如下: 图形化界面 下面基于 Python 的 GUI 图形界面开发库 Tkinter 优化上述脚本,实现友好的可视化 WIFI 暴力破解界面工具...关于 Tkinter 库的语法可参见: https://www.runoob.com/python/python-gui-tkinter.html 简单版UI from tkinter import *...self.sels = event.widget.selection() self.get_wifi_value.set(self.wifi_tree.item(self.sels, "values...,实际上 Python 的 GUI 编程可以借助 PyQt5 来自动生成 UI 代码。
Tkinter参考中最推荐使用的一个布局器。实现机制是将Widget逻辑上分割成表格,在指定的位置放置想要的Widget就可以了。...如果不指定row,会将组件放置到第一个可用的行上,如果不指定column,则使用第一列。注意这里使用grid时不需要创建,直接使用行列就可以。...,text = 'Hello') lb2 = Label(root,text = 'Grid') lb1.grid() # 指定lb2为第一行(使用索引0开始),第二列(使用索引0开始) lb2.grid...image.png 还可以使用row/column来指定组件的放置位置,并预先留出空间,以务其它需要。...image.png 示例4 使用多行(列) # -*- coding: utf-8 -*- # 使用grid来布局组件 from tkinter import * root = Tk() # 创建如下布局
这个例子用了 HT 中的树组件 ht.widget.TreeView 和 HT 中加载 OBJ 格式文件的 ht.Default.loadObj 函数来加载图中的两辆摩托车,我们利用代码来从头开始解析这个例子的部分...首先观察这个例子的界面展示,会发现这个界面是由左右两部分组成的,右边又是由上下两部分组成的,这种分割模式在 HT 中有很好的解决办法,可以完全利用 ht.widget.SplitView 将界面分层,也可以利用...放在上部 borderPane.setCenterView(g3d);//g3d 放在中间部分 treeView = new ht.widget.TreeView(dataModel); //树组件...mainSplit = new ht.widget.SplitView(treeView, borderPane, 'h', 0.2); //分割组件 其中 toolbar 中的 item 也是遵守 HT...以上就是今天的例子,实际开发中的例子会更复杂,逻辑也会更多,但通过 HT 来做,什么事情都变得 so easy!
实现机制是将 Widget 逻辑上分割成表格,在 指定的位置放置想要的 Widget 就可以了 第一个 Grid 例子 使用 grid 来布局组件 代码: import tkinter as tk root...如果不指定 row,会将组件放置到第一个可用的行上,如果不指定 column,则使用第一列 使用 row 和 column 来指定位置 使用 grid 来布局组件 代码: import tkinter ...注意这里使用 grid 时不需要创建,直接使用行列就可以 将两个或多个组件同一个位置 多个组件同时 grid 到同一个表格位置 代码: import tkinter as tk root = tk.Tk...改变列(行)的属性值 设置 column 的属性(columnconfigure) 代码: import tkinter as tk root = tk.Tk() # 创建两个 Label lb1 =...但如果这个位置没有组件存在的话这个值是不起作用的.设置列或行(rowconfigure)的属性时使用父容器的方法,不是自己调用 组件使用多列(多行) 使用多行(多列) 代码: import tkinter
这个例子用了 HT 中的树组件 ht.widget.TreeView 和 HT 中加载 OBJ 格式文件的 ht.Default.loadObj 函数来加载图中的两辆摩托车,我们利用代码来从头开始解析这个例子的部分...首先观察这个例子的界面展示,会发现这个界面是由左右两部分组成的,右边又是由上下两部分组成的,这种分割模式在 HT 中有很好的解决办法,可以完全利用 ht.widget.SplitView 将界面分层,也可以利用...放在上部 6 borderPane.setCenterView(g3d);//g3d 放在中间部分 7 treeView = new ht.widget.TreeView(dataModel); //...树组件 8 mainSplit = new ht.widget.SplitView(treeView, borderPane, 'h', 0.2); //分割组件 其中 toolbar 中的 item...以上就是今天的例子,实际开发中的例子会更复杂,逻辑也会更多,但通过 HT 来做,什么事情都变得 so easy!
我们可以通过以下方法检查Tkinter是否已安装: # 检查Tkinter是否已安装 import tkinter # 打印Tkinter版本信息 print(f"Tkinter版本: {tkinter.TkVersion...1.4 选择适合的开发环境 虽然可以使用任何文本编辑器编写Tkinter代码,但使用集成开发环境(IDE)可以显著提高开发效率。...组件(Widget):Tkinter提供了各种可视化组件,如按钮、标签、输入框等,用于构建用户界面。...Tkinter提供了强大的事件处理机制,下面我们将介绍Tkinter的基本事件处理方法。 4.1 事件绑定 在Tkinter中,我们可以使用bind()方法将事件与事件处理函数绑定。...grid_rowconfigure()和grid_columnconfigure()方法来配置行和列的属性,例如设置行或列的权重(weight),以便在窗口大小改变时,行或列能够相应地扩展或收缩。