我有創建許多依賴於用戶輸入qlineedits和按鈕的程序:pyside/PyQt的:獲取有關按鈕從動態創建qlineedits值點擊
在圖像上面4行有在灰色的「下一步」按鈕被點擊後添加了一個按鈕。現在我想在點擊相應的按鈕時將用戶的輸入變成一個函數(點擊「Create Shot 1! - >轉到一個帶有」exShot1「作爲參數的函數)
事情是我在循環中創建每個qline和button時,我不知道如何獲取每個qline和button的名稱,我想我可以在循環中創建唯一的變量,但這並不正確,我試過使用setObjectName
,但我無法確定我怎樣才能用它來調用文本,我也對Lamdba做了一次不成功的嘗試(我有一種感覺可能是正確的方式)我相信這是一個組合,必須獲取名稱並跟蹤用戶輸入改變
我已經試驗了textChanged
,掃環路的最後一個條目,但不爲別的qlines和按鈕)
相關代碼:
while i <= int(seqNum):
#create each widget
self.createShotBtn = QtGui.QPushButton("Create Shot %s!" %str(self.shotNumberLst[i-1]))
self.labelName = QtGui.QLabel(self)
self.labelName.setText("Enter Name Of Shot %s!" %str(self.shotNumberLst[i-1]))
self.shotName = QtGui.QLineEdit(self)
self.shotName.setObjectName("shot"+str(i))
#add widget to layout
self.grid.addWidget(self.labelName, 11+shotjump,0)
self.grid.addWidget(self.shotName,11+shotjump,1)
self.grid.addWidget(self.createShotBtn, 11+shotjump,2)
#Press button that makes magic happen
self.createShotBtn.clicked.connect(???)
i += 1
編輯:這也將是罰款,如果用戶對所有的線路輸入的輸入,只是壓即通過了所有這些輸入作爲一個列表或一個字典按鈕(將會有更多的每行「發射」加入)