如何填充QT Designer制作的文本字段?

时间:2016-09-15 20:21:38

标签: python-2.7 qt pyqt4

我试图创建一个类似于此的函数:

  1. 从下拉菜单中选择用户
  2. 选择使用基于用户的预设信息填充UI中的文本字段。
  3. 信息将写入Excel电子表格。
  4. 我已经介绍了第1步和第3步,但我无法弄清楚如何将信息发布到QT Designer UI的字段中。

    class Ui_CheckIn(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.setupUi(self)
    
    def setupUi(self, CheckIn):
        self.chkin_reg_descr = QtGui.QLabel(self.CheckIn)
        self.chkin_reg_descr.setGeometry(QtCore.QRect(10, 340, 111, 21))
        self.chkin_reg_descr.setObjectName(_fromUtf8("chkin_reg_descr"))
        self.chkin_reg_descr_in = QtGui.QLineEdit(self.CheckIn)
        self.chkin_reg_descr_in.setGeometry(QtCore.QRect(120, 340, 501, 21))
        self.chkin_reg_descr_in.setObjectName(_fromUtf8("chkin_reg_descr_in"))
        self.chkin_reg_asset_in = QtGui.QLineEdit(self.CheckIn)
        self.chkin_reg_asset_in.setGeometry(QtCore.QRect(400, 310, 221, 20))
        self.chkin_reg_asset_in.setObjectName(_fromUtf8("chkin_reg_asset_in"))
        self.chkin_reg_asset = QtGui.QLabel(self.CheckIn)
        self.chkin_reg_asset.setGeometry(QtCore.QRect(290, 310, 111, 21))
        self.chkin_reg_asset.setObjectName(_fromUtf8("chkin_reg_asset"))
        self.chkin_reg_serial = QtGui.QLabel(self.CheckIn)
        self.chkin_reg_serial.setGeometry(QtCore.QRect(10, 310, 71, 21))
        self.chkin_reg_serial.setObjectName(_fromUtf8("chkin_reg_serial"))
        self.chkin_reg_serial_in = QtGui.QLineEdit(self.CheckIn)
        self.chkin_reg_serial_in.setGeometry(QtCore.QRect(90, 310, 191, 20))
        self.chkin_reg_serial_in.setObjectName(_fromUtf8("chkin_reg_serial_in"))
        self.chkin_reg_submit = QtGui.QPushButton(self.CheckIn)
        self.chkin_reg_submit.setGeometry(QtCore.QRect(10, 370, 91, 23))
        self.chkin_reg_submit.setObjectName(_fromUtf8("chkin_reg_submit"))
        self.chkin_reg_device_in = QtGui.QLineEdit(self.CheckIn)
        self.chkin_reg_device_in.setGeometry(QtCore.QRect(80, 280, 211, 20))
        self.chkin_reg_device_in.setObjectName(_fromUtf8("chkin_reg_device_in"))
        self.chkin_drpmn_name = QtGui.QComboBox(self.CheckIn)
        self.chkin_drpmn_name.setGeometry(QtCore.QRect(70, 250, 221, 22))
        self.chkin_drpmn_name.setObjectName(_fromUtf8("chkin_drpmn_name"))
        self.chkin_drpmn_name.addItem(_fromUtf8(""))
        self.chkin_drpmn_name.addItem(_fromUtf8(""))
    
    
    def retranslateUi(self, CheckIn):
        self.chkin_reg_submit.setText(_translate("CheckIn", "Check In", None))
        self.chkin_reg_descr.setText(_translate("CheckIn", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Description:</span></p></body></html>", None))
        self.chkin_reg_name.setText(_translate("CheckIn", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Name:</span></p></body></html>", None))
        self.chkin_reg_device.setText(_translate("CheckIn", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Device:</span></p></body></html>", None))
        self.chkin_reg_serial.setText(_translate("CheckIn", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Serial #:</span></p></body></html>", None))
        self.chkin_reg_asset.setText(_translate("CheckIn", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Asset Tag #:</span></p></body></html>", None))
        self.chkin_new_submit.setText(_translate("CheckIn", "Check In", None))
        self.chkin_drpmn_name.setItemText(0, _translate("CheckIn", "User 1", None))
        self.chkin_drpmn_name.setItemText(1, _translate("CheckIn", "User 2", None))
    

1 个答案:

答案 0 :(得分:0)

这很简单!您所需要的只是将currentTextChanged(QString)的{​​{1}}信号连接到QComboBox的{​​{1}}广告位。

setText(QString)

此连接会使您的QLineEdit显示connect(comboBox, SIGNAL(currentTextChanged(QString text)), lineEdit, SLOT(setText(QString text))); 选择的当前项目。

如果您需要在该文字中添加其他内容,则需要实施自己的广告位,该广告位应与QLineEdit的{​​{1}}或QComboBox信号相关联。