基础功能
dialog_new.py
如下:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(416, 321)
self.pushButton = QtWidgets.QPushButton(Form)
self.pushButton.setGeometry(QtCore.QRect(150, 200, 89, 24))
self.pushButton.setObjectName("pushButton")
self.label = QtWidgets.QLabel(Form)
self.label.setGeometry(QtCore.QRect(100, 110, 51, 16))
self.label.setObjectName("label")
self.comboBox_baud = QtWidgets.QComboBox(Form)
self.comboBox_baud.setGeometry(QtCore.QRect(160, 110, 71, 23))
self.comboBox_baud.setObjectName("comboBox_baud")
self.comboBox_baud.addItem("")
self.comboBox_baud.addItem("")
self.comboBox_baud.addItem("")
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "数据趋势"))
self.pushButton.setText(_translate("Form", "输出波特率"))
self.label.setText(_translate("Form", "波特率"))
self.comboBox_baud.setItemText(0, _translate("Form", "2400"))
self.comboBox_baud.setItemText(1, _translate("Form", "4800"))
self.comboBox_baud.setItemText(2, _translate("Form", "9600"))
main.py
如下:
import dialog_new
import sys
from PyQt5.QtWidgets import QApplication, QDialog
class Dialog():
def init(self, mainWindow, mainView):
self.mainWindow = mainWindow
self.mainView = mainView
self.mainView.setupUi(mainWindow)
self.mainView.pushButton.clicked.connect(self.printClick)
def printClick(self):
current_baud = self.mainView.comboBox_baud.currentText()
print(current_baud)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainDialog = Dialog()
mainWindow = QDialog()
mainView = dialog_new.Ui_Form()
mainDialog.init(mainWindow, mainView)
mainWindow.show()
sys.exit(app.exec_())
currentIndexChanged
当QComboBox
的选择框发生变化时,就会发出信号currentIndexChanged
。
dialog_new.py
如下:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(416, 321)
self.label = QtWidgets.QLabel(Form)
self.label.setGeometry(QtCore.QRect(100, 110, 51, 16))
self.label.setObjectName("label")
self.comboBox_baud = QtWidgets.QComboBox(Form)
self.comboBox_baud.setGeometry(QtCore.QRect(160, 110, 71, 23))
self.comboBox_baud.setObjectName("comboBox_baud")
self.comboBox_baud.addItem("")
self.comboBox_baud.addItem("")
self.comboBox_baud.addItem("")
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "数据趋势"))
self.label.setText(_translate("Form", "波特率"))
self.comboBox_baud.setItemText(0, _translate("Form", "2400"))
self.comboBox_baud.setItemText(1, _translate("Form", "4800"))
self.comboBox_baud.setItemText(2, _translate("Form", "9600"))
main.py
如下:
import dialog_new
import sys
from PyQt5.QtWidgets import QApplication, QDialog
class Dialog():
def init(self, mainWindow, mainView):
self.mainWindow = mainWindow
self.mainView = mainView
self.mainView.setupUi(mainWindow)
self.mainView.comboBox_baud.currentIndexChanged.connect(self.print_IndexChanged)
def print_IndexChanged(self):
current_baud = self.mainView.comboBox_baud.currentText()
print(current_baud)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainDialog = Dialog()
mainWindow = QDialog()
mainView = dialog_new.Ui_Form()
mainDialog.init(mainWindow, mainView)
mainWindow.show()
sys.exit(app.exec_())
setEnabled
setEnabled
用于关闭或使能QComboBox
:
self.mainView.comboBox_baud.setEnabled(False)
setCurrentText
setCurrentText
设置QComboBox
当前的显示内容:
self.mainView.comboBox_baud.setCurrentText("9600")