簡體   English   中英

如何通過按下按鈕從QLineEdit()pyqt5獲取值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM