PySide6 GUI 学习笔记——控件之间的关系

控件间的关系,体现在控件的排列方式、布局、按钮文字图标、菜单文字图标等多个方面。而界面上的快捷键、Tab键顺序等,都会影响操作的便捷性。界面设计本身是一门复杂的学问,它需要考虑程序的运行环境,如屏幕大小及比例、操作系统风格等多个因素。

控件布局

Qt Designer中的控件布局包括如下类型:

  • 水平布局(QHBoxLayout),把多个控件以水平的顺序依次排开;
  • 垂直布局(QVBoxLayout),把多个控件以垂直的顺序依次排开;
  • 栅格布局(QGridLayout),以网格的形式将多个控件按照矩阵方式排列;
  • 表单布局(QFormLayout),像表单那样,采用两列的形式排列控件。

在实际应用中,可以灵活运用这些布局。例如采用嵌套布局的方式,综合运用多种类型的布局。

控件Tab键顺序

程序运行时,按Tab(制表符)键,可以按设定的顺序切换界面控件的焦点——点击Qt Designer工具栏上的“编辑Tab顺序”按钮(如下图),依次单击蓝色数字框,就能设置Tab键顺序,如果点错,可以右键调出上下文菜单,选择“重新开始”命令重置Tab键顺序。

工具条中的编辑顺序按钮

Tab键顺序设置界面

设置后的顺序标签状态如下:

Tab顺序设置完成状态

控件的伙伴(buddy)关系

控件的伙伴关系,是指控件与对应的Label标签关联,在Label标签上按快捷键(ALT键+字母),焦点会移到关联的控件上。标签上的快捷键字幕,通过在Labeltext属性中增加&和字符来设定,在界面运行的Label标签文字显示时,&及对应字符不显示。例如“UI文件选择”添加一个ALT+U,那么就将text属性“UI文件选择”修改为“UI文件选择(&U)”。点击“编辑伙伴”按钮,即可编辑控件伙伴关系。进入“编辑伙伴”状态后,左键选择标签Label拖拽到关联的控件上,即可建立控件伙伴关系。

编辑伙伴

关联伙伴

在代码中,伙伴关系通过setBuddy方法确定,生成的代码片段如下:

#if QT_CONFIG(shortcut)
        self.labelUI.setBuddy(self.pushButtonUISelect)
        self.labelCode.setBuddy(self.pushButtonCodeSelect)
        self.labelTool.setBuddy(self.pushButtonToolSelect)
#endif // QT_CONFIG(shortcut)
        QWidget.setTabOrder(self.textEditUI, self.pushButtonUISelect)
        QWidget.setTabOrder(self.pushButtonUISelect, self.textEditCode)
        QWidget.setTabOrder(self.textEditCode, self.pushButtonCodeSelect)
        QWidget.setTabOrder(self.pushButtonCodeSelect, self.textEditTool)
        QWidget.setTabOrder(self.textEditTool, self.pushButtonToolSelect)
        QWidget.setTabOrder(self.pushButtonToolSelect, self.pushButtonRun)
课程亮点       本课程是PySide6零基础入门与项目实战视频教程,经过精心设计,分为十个章节,制作了141页ppt, 接近70个代码示例,主要讲解PySide6开发环境安装、基础控件与界面布局、项目实战,PySide6程序打包,安装包制作,安装卸载、更新,发布等知识。涵盖从基础概念到高级应用的全方位知识,旨在为你提供一条清晰、系统的学习之路。无论你是编程新手,还是希望深化对PySide6的了解,本课程都能满足你的需求。       教学环境:Win11 64bit、Python3.11、PyCharm、Anacoda。课程大纲第一章:基础篇 PySide6开发环境安装        从Anaconda环境配置开始,带你快速入门Win11/win10下PySide6、PyQt5开发环境的安装与配置,分别介绍PyCharm与VSCode如何配置PySide6,  以及Python AnaConda的基本用法,创建虚拟环境,安装python模块。第二章 控件与布局篇 PySide6常用控件与界面布局使用介绍        深入PySide6中的常用控件与界面布局技巧,通过丰富的实例,掌握PySide6的窗口、布局、控件等核心内容。主要介绍QLabel、QPushButton、QLineEdit、QCheckBox、QComboBox、QTextEdit、QTextBrowser、QListView与QListWidget、QStackedWidget、QTabWidget、QTableView等控件以及水平垂直布局,弹簧控件,栅格布局,表单布局。第三章 信号槽与事件机制       解锁PySide6的信号槽机制和事件处理技能,让你的应用更加灵活。详细介绍Qt自定义信号槽,跨窗口传递信号;Qt鼠标事件,键盘事件,组合事件,事件过滤。第四章 QMainWindow应用篇       详细介绍QMainWindow的使用,包括菜单栏、工具栏、状态栏和停靠窗口等。第五章 样式表qss与自定义控件        教你如何使用样式表美化应用界面,并创建独特的自定义控件。掌握这些技能后,学员将能够设计出既美观又功能丰富的用户界面。第六章 图表与曲线        引入pyqtgraph,展示如何在PySide6应用中绘制图表和动态曲线。第七章 数据库编程        带你进入数据库编程世界,使用sqlite3与PySide6结合,进行数据存储和管理。第八章 项目实战:高仿有道词典        通过一个高仿有道词典的项目,将所学知识融会贯通,实战演练。课程中将会接入翻译接口,开发一个属于自己的翻译软件。第九章 打包与部署       教你如何将PySide6项目打包成exe,并使用Inno Setup制作安装包,介绍软件更新、卸载策略,让你的应用轻松上线。第十章 课程总结        回顾整个课程的学习内容,巩固知识点,为进一步的学习和应用打下坚实的基础。教学特色       实战案例:每个章节都配备实战案例,让学习者在实践中深化理解。       代码资料全覆盖:提供全套课程代码资料下载,便于学习者随时查阅和复习。       高效学习路径:课程内容结构清晰,由浅入深,适合不同层次的学习者。       本课程提供全部代码与在线答疑。谁应该学习这个课程       对图形界面开发感兴趣的编程新手。       希望提升个人技能,进入或者深耕在GUI开发领域的开发者。       需要快速掌握PySide6进行项目开发的软件工程师。结语        通过本课程的学习,你不仅能掌握PySide6的核心技能,还能通过实战项目提升解决实际问题的能力,最终让你能独立完成专业的GUI应用开发。随着技术的深入,你将发现PySide6不仅仅是一个工具库,它开启的是一扇通往高效、美观应用开发的大门。        开始PySide6的学习之旅,让你的编程之路更加精彩!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Humbunklung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值