[英]How to get value form QLineEdit() pyqt5 with pushing button
我創建了QLineEdit對象,並試圖從此小部件中獲取值,但最后我得到了一個錯誤:
qlineedit1 = QLineEdit()
qlineedit1.setFixedSize(btn_x_size, btn_y_size)
gridLayout.addWidget(qlineedit1, i, j)
value = range_btn.clicked.connect(self.get_value(qlineedit1))
@pyqtSlot()
def get_text(self, obj):
textboxValue = obj.text()
return textboxValue
text1 = range_btn.clicked.connect(self.get_text(qlineedit1))
TypeError: argument 1 has unexpected type 'str'
您的錯誤如下:
對於connect()
方法,您必須輸入函數名稱,而不是評估函數。
連接不會返回任何內容,因此value始終為None。
GUI
異步工作,因為它們想要獲取連接中無效的數據,因此必須在插槽中獲取它。
如果要傳遞其他參數,則可以使用lambda函數:
qlineedit1 = QLineEdit()
qlineedit1.setFixedSize(btn_x_size, btn_y_size)
gridLayout.addWidget(qlineedit1, i, j)
range_btn.clicked.connect(lambda checked, obj=qlineedit1 : self.get_value(obj))
@pyqtSlot()
def get_text(self, obj):
textboxValue = obj.text()
print(textboxValue)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.