环境
PyQt5 + VSCode
在QtDesigner中新建 Main Window。
将Label、Radio Button、Check Box拖入窗口中,如图
在VSCode中右键点击文件,选择Compile Form将.ui转换成.py文件Ui_pyqt3.py。
在Ui_pyqt3.py中添加一行
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(276, 231)
self.MainWindow = MainWindow #添加
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
新建文件pyqt3.py。
import sys
from Ui_pyqt3 import Ui_MainWindow
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
class MyMainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MyMainWindow, self).__init__(parent)
self.setupUi(self)
self.label.setText("主题")
self.radioButton.setText("标准") #设置文本
self.radioButton_2.setText("深色")
self.radioButton.setChecked(True) #设置选中
self.checkBox.setText("开机启动") #设置文本
self.checkBox.setChecked(True) #设置选中
self.pushButton.setText("确定")
self.pushButton_2.setText("取消")
self.radioButton.toggled.connect(self.func1) #信号:当状态改变时。连接信号和槽
self.checkBox.stateChanged.connect(self.func2) #信号:当状态改变时。连接信号和槽
def func1(self):
if self.radioButton.isChecked(): #是否选中
QMessageBox.information(self.MainWindow, "提示", "你选择的主题是 " + self.radioButton.text(),QMessageBox.Ok)
else:
QMessageBox.information(self.MainWindow, "提示", "你选择的主题是 " + self.radioButton_2.text(),QMessageBox.Ok)
def func2(self):
if self.checkBox.isChecked(): #是否选中
QMessageBox.information(self.MainWindow, "提示", "选择开机启动",QMessageBox.Ok)
else:
QMessageBox.information(self.MainWindow, "提示", "未选择开机启动",QMessageBox.Ok)
app = QApplication(sys.argv)
win = MyMainWindow()
win.show()
sys.exit(app.exec_())
按f5运行得到
RadioButton
方法
方法 | 内容 |
---|---|
.setText() | 设置文本 |
.text() | 获取文本 |
.setChecked(True) | 设置选中状态 |
.isChecked() | 返回选中状态 |
信号
信号 | 内容 |
---|---|
clicked | 每次点击时 |
toggled | 状态改变时 |
CheckBox
方法
方法 | 内容 |
---|---|
.setText() | 设置文本 |
.text() | 获取文本 |
.setChecked(True) | 设置选中状态 |
.isChecked() | 返回选中状态 |
信号
信号 | 内容 |
---|---|
stateChanged() | 状态改变时 |