python界面开发 - Menu (popupmenu) 右键菜单
文章目录
- 1. python图形界面开发
- 1.1. Python图形界面开发——Tkinter
- 1.2. Python图形界面开发——PyQt
- 1.3. Python图形界面开发——wxPython
- 1.4. Python图形界面开发—— PyGTK:基于GTK
- 1.5. Python图形界面开发—— Kivy
- 1.6. Python图形界面开发——可视化工具
- 1.7. Python图形界面开发——GUI设计原则
- 2. Tkinter 开发
- 3. Menu (popupmenu) 右键菜单
- 3.1. 示例1
- 3.2. 示例2
1. python图形界面开发
Python作为一种高级编程语言,具有简单易学、开发效率高等优点,近年来备受关注。Python的图形界面开发也是其应用领域之一。本文将从多个角度分析Python图形界面开发。
-
一、Python图形界面开发——Tkinter
-
二、Python图形界面开发——PyQt
-
三、Python图形界面开发——wxPython
-
四、Python图形界面开发—— PyGTK
-
五、Python图形界面开发—— Kivy
-
六、Python图形界面开发——可视化工具
1.1. Python图形界面开发——Tkinter
Python自带的GUI开发工具包,可以创建简单的GUI应用程序。
Tkinter是Python自带的GUI开发库,它是一个跨平台的开发库,可在多个操作系统上使用。Tkinter提供了丰富的GUI控件,如按钮、标签、文本框等,可以方便地创建各种GUI应用。此外,Tkinter的文档和教程也非常全面,易于入门。
Tkinter是Python自带的GUI工具包,它是一个跨平台的工具包,可以在Windows、Linux和MacOS等操作系统上运行。Tkinter是基于Tk GUI工具包的Python接口,TkGUI工具包是一个用于创建GUI应用程序的工具包,最初是为Tcl语言设计的,后来被移植到了其他语言中,包括Python。
1.2. Python图形界面开发——PyQt
一个基于Qt库的Python GUI开发工具包,提供了丰富的GUI组件和功能。
PyQt是一个用于开发Python GUI应用的工具包,它是基于Qt库开发的。PyQt提供了与Qt相同的GUI控件,并且还提供了一些独特的控件,如日期选择器、颜色选择器等。PyQt的文档也很全面,但是由于它不是Python自带的库,所以需要先安装。
1.3. Python图形界面开发——wxPython
基于wxWidgets库的Python GUI开发工具包,可以创建跨平台的GUI应用程序。
wxPython也是一个用于开发Python GUI应用的工具包,它是基于wxWidgets库开发的。wxPython提供了与wxWidgets相同的GUI控件,可在多个操作系统上使用。wxPython的文档和教程也很全面,但与PyQt相比,它的学习曲线稍微陡峭一些。
1.4. Python图形界面开发—— PyGTK:基于GTK
PyGTK:基于GTK+库的Python GUI开发工具包,可以创建跨平台的GUI应用程序。
1.5. Python图形界面开发—— Kivy
Kivy:一个跨平台的Python GUI开发框架,专注于创建移动应用程序和多点触控应用程序。
1.6. Python图形界面开发——可视化工具
除了以上三种GUI开发库外,还有一些Python可视化工具,如Matplotlib、Seaborn、Plotly等,它们可以用于数据可视化、绘制图表等。这些工具不仅能够提供强大的图形绘制功能,而且还可以与GUI库相结合,实现更加丰富多彩的GUI应用。
1.7. Python图形界面开发——GUI设计原则
在进行Python图形界面开发时,需要遵循一些GUI设计原则,如界面简洁、易用性高、反应速度快等。此外,还需要注意界面的美观度,选择合适的颜色、字体、图片等,以提高用户体验。
2. Tkinter 开发
使用Tkinter,可以快速地创建GUI应用程序,Tkinter提供了一系列的GUI组件,如按钮、标签、文本框、滚动条、列表框等,可以通过这些组件来构建GUI界面。Tkinter还提供了一些布局管理器,可以更方便地管理和布局GUI组件。
常用控件包括:
-
Button 按钮
-
Label 提示信息,用于显示文本和图像。
-
Message:类似于Label,但可以自动换行
-
Entry 文本框,用于输入单行文本。
-
Text文字区域,用于输入多行文本。
-
OptionMenu 菜单
-
ComboBox 下拉框
-
Menu 右键菜单
-
Checkbutton 用于创建复选框,用于选择一个或多个选项。
-
Radiobutton:用于创建单选按钮, 用于选择一项。
-
Scale:用于创建滑动条, 用于选择一个范围内的值。
-
Listbox:用于创建列表框
-
布局管理
3. Menu (popupmenu) 右键菜单
3.1. 示例1
from tkinter import *
root = Tk()
menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="New")
filemenu.add_command(label="Open")
filemenu.add_command(label="Save")
filemenu.add_separator()
filemenu.add_command(label="Exit", command=root.quit)
menubar.add_cascade(label="File", menu=filemenu)
root.config(menu=menubar)
root.mainloop()
3.2. 示例2
from tkinter import *
from tkinter import messagebox# 剪切
def cut_job():copyJob()text.delete(SEL_FIRST, SEL_LAST)# 复制
def copy_job():try:text.clipboard_clear()copyText = text.get(SEL_FIRST, SEL_LAST)text.clipboard_append(copyText)except TclError:print("没有选取")# 粘贴
def paste_job():try:copyText = text.selection_get(selection="CLIPBOARD")text.insert(INSERT, copyText)except TclError:print("剪贴板没有数据")# 显示弹出菜单
def show_popup_menu(event):popupmenu.post(event.x_root, event.y_root)root = Tk()
root.title("Text示例")
root.geometry("300x300")popupmenu = Menu(root, tearoff=False)
popupmenu.add_command(label="Cut", command=cut_job)
popupmenu.add_command(label="Copy", command=copy_job)
popupmenu.add_command(label="Paste", command=paste_job)# 单机鼠标右键绑定显示弹出菜单
root.bind("<Button-3>", show_popup_menu)text = Text(root)
text.pack(fill=BOTH, expand=True)
for i in range(10):text.insert(END, str(i) + f"这是数字{i}\n")root.mainloop()

相关文章:
python界面开发 - Menu (popupmenu) 右键菜单
文章目录 1. python图形界面开发1.1. Python图形界面开发——Tkinter1.2. Python图形界面开发——PyQt1.3. Python图形界面开发——wxPython1.4. Python图形界面开发—— PyGTK:基于GTK1.5. Python图形界面开发—— Kivy1.6. Python图形界面开发——可视化工具1.7. …...
微服务架构 | 多级缓存
INDEX 通用设计概述2 优势3 最佳实践 通用设计概述 通用设计思路如下图 内容分发网络(CDN) 可以理解为一些服务器的副本,这些副本服务器可以广泛的部署在服务器提供服务的区域内,并存有服务器中的一些数据。 用户访问原始服务器…...
怎么将pom在文件放到src下方
今天在IDEA从git拉取项目的时候,发现pom.xml文件在文件夹src的上方,平时看惯了项目的pom.xml文件在文件夹src的下方,应该怎么去设置呢? 点击设置——>点击Folder Always on Top 即可 参考:http://t.csdnimg.cn/s34…...
浅谈网络爬虫与Web安全
网络爬虫(Web Crawler),又称网络蜘蛛(Web Spider)或网络机器人(Web Robot),是一种按照一定的规则自动抓取万维网资源的程序或者脚本,已被广泛应用于互联网领域。搜索引擎使用网络爬虫抓取Web网页、文档甚至图片、音频、视频等资源,…...
C++vector的使用方法
文章目录 一、vector的介绍1. 文档链接2. 简要介绍 二、vector的使用1.vector的定义(1)构造函数(2)拷贝构造函数(2)赋值重载 2. vector 增删查改(1)operator [](2&#x…...
视频生成模型Sora的全面解析:从AI绘画、ViT到ViViT、DiT、VDT、NaViT、VideoPoet
视频生成模型Sora的全面解析:从AI绘画、ViT到ViViT、DiT、VDT、NaViT、VideoPoet 真没想到,举例视频生成上一轮的集中爆发才过去三个月,没想OpenAI一出手,该领域又直接变天了自打2.16日OpenAI发布sora以来,不但把同时…...
4.1k star,官方出品的redis桌面管理工具——redislnsight
导航 令人抓狂的大key加载RedisInsight 简介RedisInsight的亮点GitHub 地址安装和使用RedisInsight 下载安装 使用RedisInsight redis数据库可视化直观的CLI(Command-Line Interface)日志分析和命令分析 结语参考 令人抓狂的大key加载 工欲善其事必先利…...
论文目录3:大模型时代(2023+)
1 instruction tuning & in context learning 论文名称来源主要内容Finetuned Language Models Are Zero-Shot Learners2021 机器学习笔记:李宏毅ChatGPT Finetune VS Prompt_UQI-LIUWJ的博客-CSDN博客 早期做instruction tuning的work MetaICL: Learning to …...
FPGA IBUFG
IBUFG和IBUFGDS的输入端仅仅与芯片的专用全局时钟输入管脚有物理连接,与普通IO和其它内部CLB等没有物理连接。 所以,IBUFG输入的不能直接接另外信号。 GTH transceiver primitives are called GTHE3_COMMON and GTHE3_CHANNEL in UltraScale FPGAs, an…...
探索数据结构:单链表的实战指南
✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty‘s blog 前言 在上一章节中我们讲解了数据结构中的顺序表,知道了顺序…...
短视频矩阵系统----矩阵系统源码搭建(技术门槛?)
短视频矩阵是什么意思?短视频矩阵的含义可以理解为全方位的短视频账号,通过不同的账号实现全方位的品牌展示。实际上是指一个短视频账号,通过不同的链接实现品牌展示,在不同的粉丝流量账号中互相转发同一个品牌,在主账…...
Spring事务注解@Transactional的流程和源码分析
Spring事务简介 Spring事务有两种方式: 编程式事务:编程式事务通常使用编程式事务管理API实现,比如Spring提供的PlatformTransactionManager接口,使用它手工编码去操控事务。声明式事务:注解式事务使用AOP࿰…...
在别的地方下载的二次封装Windows镜像怎么安装?GHO镜像详细安装教程
前言 在系统之家或者其他地方下载的镜像文件怎么装到电脑上? 首先要知道系统之家下载的Windows镜像文件基本上都是.iso结尾的,要进入到对应镜像包才能看出系统镜像是什么格式。 如何分辨镜像的格式 选择对应的.iso镜像,点击【鼠标右键】-【装…...
使用Lerna + Yarn Workspace管理Monorepo项目
1.前言 通常,我们会根据自身业务的实际情况,将通用的组件、逻辑等提取成NPM包,方便以后复用。但这些提取出来的NPM包可能互相之间存在依赖,如果仍然采用 Multirepo 的形式进行管理,则在包的版本管理、依赖管理、调试等…...
如何将gzip后缀压缩包重命名任意后缀名并依然通过gzip.open()读取压缩包文件内容
在 Python 中,gzip.open() 用于解压缩 .gz 后缀的文件。因此,如果您将文件的后缀从 .gz 更改为其他后缀,例如 .diy,然后尝试使用 gzip.open() 打开它,会导致失败,因为 Python 会尝试使用 gzip 解压缩它&…...
C语言从入门到精通 第十一章(文件操作)
写在前面: 本系列专栏主要介绍C语言的相关知识,思路以下面的参考链接教程为主,大部分笔记也出自该教程。除了参考下面的链接教程以外,笔者还参考了其它的一些C语言教材,笔者认为重要的部分大多都会用粗体标注…...
安装安卓studio无法下载sdk解决方法
安装安卓studio无法下载sdk的解决方法如下: 因为google被墙了,android sdk无法下载。 只要修改host文件,就可以下载sdk了。host文件的位置在:C:\Windows\System32\drivers\etc\hosts host文件添加如下内容: #google_…...
express+mysql+vue,从零搭建一个商城管理系统10--添加商品
提示:学习express,搭建管理系统 文章目录 前言一、新建models/goods.js二、新建routes/goods.js三、添加goods表四、添加商品总结 前言 需求:主要学习express,所以先写service部分 一、新建models/goods.js models/goods.js con…...
java实现大文件的分割与合并
最近遇到一个问题,某网盘上传文件时,文件大小超过了4个G ,不能上传,所以就想到了利用的java的IO流,将文件分割成多个小文件,上传到网盘上,等到需要用的时候,下载下来然后再进行文件的…...
【计网】TCP协议安全与风险:深入探讨网络通信的基石
🍎个人博客:个人主页 🏆个人专栏:Linux ⛳️ 功不唐捐,玉汝于成 目录 🌐前言 🔒正文 TCP (Transmission Control Protocol): UDP (User Datagram Protocol): HTTP (Hypertext Transfer …...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
