[英]How to get a QDialog QlineEdit window to output to QtableWidgetCell?
我是Python和PyQT4的新手。
我有一個帶有QlineEdit的簡單QDialog Box。
class Ui_UserCode(object):
def setupUi(self, UserCode):
UserCode.setObjectName(_fromUtf8("UserCode"))
UserCode.resize(265, 125)
UserCode.setMouseTracking(False)
self.lineEdit = QtGui.QLineEdit(UserCode)
self.lineEdit.setGeometry(QtCore.QRect(60, 50, 151, 31))
self.lineEdit.setFrame(True)
self.lineEdit.setAlignment(QtCore.Qt.AlignCenter)
self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
QtCore.QObject.connect(self.lineEdit, QtCore.SIGNAL(_fromUtf8("returnPressed()")), UserCode.insertUC)
self.label = QtGui.QLabel(UserCode)
self.label.setGeometry(QtCore.QRect(60, 20, 151, 20))
self.label.setObjectName(_fromUtf8("label"))
self.buttonBox = QtGui.QDialogButtonBox(UserCode)
self.buttonBox.setGeometry(QtCore.QRect(40, 90, 180, 32))
self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
self.retranslateUi(UserCode)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), UserCode.accept)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), UserCode.reject)
QtCore.QMetaObject.connectSlotsByName(UserCode)
def retranslateUi(self, UserCode):
UserCode.setWindowTitle(_translate("UserCode", "Dialog", None))
self.label.setText(_translate("UserCode", "Please Enter User Code", None))
self.lineEdit.setText(_translate("Dialog", "", None))
這行代碼在我創建的QtableWidget的單獨類中。
item.setText(_translate("MainWindow", "" , None))
然后...我的初始化類和pyqtSlot()
class StartUC(QDialog):
def __init__(self):
QDialog.__init__(self)
self.uc = Ui_UserCode()
self.uc.setupUi(self)
self.ui = Ui_MainWindow()
@QtCore.pyqtSlot()
def insertUC(self):
inputNumber = self.uc.lineEdit.text()
tableWidget = StartMain(QTableWidgetItem)
item = tableWidget.item(0, 1)
tableWidget.item.setText("MainWindow", "%s"% inputNumber, None)
class StartMain(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
我的問題是如何獲取對話框的QlineEdit以便在returnPressed事件上填充QtableWidgetCell? 我的pyqtSlot()方法是否在正確的位置? 我意識到我還有很多東西要學習,所以如果有人能指出正確的方向,那將是很棒的。 PyQT文檔給了我不錯的開始,但是我不確定如何完成此工作...
看看我為這個問題編寫的代碼https://stackoverflow.com/a/18447504/1155106
您可以運行它,它執行一些簡單的操作,因此您可以看到如何使用插槽和信號以及如何在類之間傳遞信號。
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.