文章目录
前言一、环境准备二、简单案例1.最终效果2.实现步骤
总结
前言
本篇主要针对像我一样从未接触过GUI开发的小白,通过一个特别简单的例子来上手如何通过pyqt进行GUI程序开发,以便之后更好的理解高级内容
一、环境准备
参考上一篇笔记 Pyqt6的环境搭建
二、简单案例
1.最终效果
![简单计算功能](https://img-blog.csdnimg.cn/658f941b5bf149ada4279ef5cb099b7e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAenp6em5vbmU=,size_20,color_FFFFFF,t_70,g_se,x_16)
2.实现步骤
首先启动QTdesinger工具,创建窗口 在左边的组件栏选择Text Edit(文本编辑框)拖进窗口中 在右边圈出的是该组件的对象名称,我们可以自行更改为简单易懂的名称,以便在之后的代码中调用该对象,这里我改成了 price_box,用来输入价格 为了更清晰的明白这个组件的作用,我们可以加入文本标签进行文字说明,其中的文字可以直接双击进行更改 为了调整税率,我们可以加入Spin Box,可以实现自行更改数值,同时更改其对象名称为tax_rate 我们可以设置spinbox的默认值及步长等等,在右边的属性编辑器中,往下拉就可以看到,我将默认值修改为了20,还有其他的最大最小值等等可以自行修改 再将触发计算的按键加入,找到PushButton拖入,并更改其对象名和文字 最后再拖入一个文本编辑器用于输出结果: 最后加入标题label,调整控件的大小和位置,下图右边的font可以对文字进行大小格式等修改,不要忘了保存 保存后生成 .ui文件,通过PyUIC工具,将其转译为python代码文件,然后再进行功能和主程序入口的编写:
import sys
from PyQt6 import QtWidgets, uic
from tax_calc import Ui_MainWindow #导入QTdesigner的样式设计
class MyApp(QtWidgets.QMainWindow): #自定义一个窗口类,便于主程序入口调用
def __init__(self):
super().__init__() #继承QMainWindow这一主窗口基类
self.__ui = Ui_MainWindow() #声明导入的样式类的对象
self.__ui.setupUi(self) #初始化样式类中的setupui方法,构造界面
self.__ui.calc_tax_button.clicked.connect(self.CalculateTax) #按键触发绑定
def CalculateTax(self): #button触发的方法
price = int(self.__ui.price_box.toPlainText()) #获得textedit的数值
tax = (self.__ui.tax_rate.value()) #获得spinbox的值
total_price = price + ((tax / 100) * price)
total_price_string = "含税总价为:" + str(total_price)
self.__ui.results_window.setText(total_price_string) #将结果赋给textedit
if __name__ == "__main__": #主程序入口
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec())
总结
以上就是对pyqt6开发gui的一个简单小程序的介绍,界面与逻辑是分离的,便于功能的设计,后面我再将主程序中的几行代码做下解释说明:
app = QtWidgets.QApplication(sys.argv)
每个 PyQt6 应用程序都必须创建一个应用程序对象。sys.argv 参数是来自命令行的参数列表。Python 脚本可以从 shell 运行,这是应用启动的一种方式
window = MyApp()
生成自定义界面 MyApp()这一窗口
window.show()
show 方法是在屏幕上显示的方法。显示一个部件的步骤是首先在内存里创建,然后在屏幕上显示
sys.exit(app.exec())
最后,我们进入应用程序的主循环,事件处理从这里开始。主循环从窗口系统接收事件并将它们分派给应用程序小部件。 如果我们调用 exit 方法或主小部件被销毁,则主循环结束。sys.exit 方法确保一个干净的退出。环境将被告知应用程序如何结束
|