QT-Python-Day1-order_menu

环境:Pycharm 3.9

库:PySide6 6.1.0:提供了Qt6的API库

 

安装好环境和库后,开始介绍QT的第一个应用工程,点菜

  • 新建一个order_menu.py文件
  • 在头部引入下面几个库
import sys
import random
from PySide6 import QtCore, QtWidgets, QtGui

其中, QtCore, QtWidgets, QtGui是PySide6库中最重要的3个子模块。

QtCore提供核心的非GUI功能,如信号和槽、属性、模型的基类、序列化等等。

QtWidgets用GUI功能扩展QtCore。事件、窗口和屏幕、OpenGL和2D绘画,以及图像。

QtGui为应用程序提供现成的Widget,包括为用户界面提供图形元素。

  • 定义一个名为Menus的类,继承了QtWidgets,同时在类中增加了 QPushButton 和 QLabel
class Menus(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()

        self.menu = ["Tomatoe", "Potatoe", "Pepper", "Cabbage"]

        self.button = QtWidgets.QPushButton("Choose me!")
        self.text = QtWidgets.QLabel("Vegetable")

        self.layout = QtWidgets.QVBoxLayout(self)
        self.layout.addWidget(self.text)
        self.layout.addWidget(self.button)

        self.button.clicked.connect(self.order)

    @QtCore.Slot()
    def order(self):
        self.text.setText(random.choice(self.menu))

其中,_init_是对函数的初始化,在创建该类的实例时,会调用。

在_init_函数中定义了menu,button 和text 的变量。menu变量是一个列表。button是个按键,text是个标签,标签内容是"Choose me"

把button 和text放置到界面中,垂直布置

self.button.clicked.connect(self.order),是把button和order成员函数关联起来,一点击button就会调用order函数

而order成员函数的作用就是改变text的标签内容,内容是随机选取menu列表里的元素

  • 主函数实例化类,并显示界面
if __name__ == "__main__":
    app = QtWidgets.QApplication([])

    menus = Menus()
    menus .resize(100, 80)
    menus .show()

    sys.exit(app.exec())

app = QtWidgets.QApplication([])是在命令行调用窗口, sys.exit(app.exec())是进入窗口,作为固定代码,必须出现在主函数的开头和结尾

 随后创建实例,并显示
 

  • 运行程序后,显示窗口,创建菜单

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值