我試圖連接兩個不同類中的兩個方法。在所謂的「塔納」之類的,這是我的主要窗口,我有這樣的方法:已連接的類但未正確響應
def addChannel(self):
global channelCount
self.scrollLayout = QFormLayout()
self.canal = QwtPlot()
self.canal.setLayout(self.scrollLayout)
if channelCount <= 4:
self.splitter1.addWidget(self.canal)
channelCount += 1
print str(channelCount)
在另一類,我有以下方法:
class QwtPlotList(QDialog):
def __init__(self):
QDialog.__init__(self)
uic.loadUi("PropiedadesCanal.ui", self)
self.botonAdd.clicked.connect(self.addChannel_2)
def addChannel_2(self):
global channelCount
self.botonAdd.clicked.connect(Ventana().addChannel)
if channelCount <= 4:
self.listWidget.addItem("Canal : " + str(channelCount))
什麼我正嘗試做的是當我按下按鈕「botonAdd
」時,「addChannel_2
」方法調用Ventana
類中的「addChannel」方法。然後,創建一個QWidget
(「self.canal」)。
這段代碼會發生什麼,當我按下「botonAdd
」時,它會將項目放入listWidget
中,但它不會創建QWidget
。如果我創建了「QWidget
」用工具欄中的按鈕,它doesn't在QListWidget
添加任何項目你可以看到這一切在這些圖片:
The "botonAdd" creates an item in the QListWidget but not a QWidget
Another button creates the Qwidget, but not the item in the QListWidget
希望你能幫助我。感謝您的時間和答案
你好!謝謝你很多爲你的答案,我學到了新的東西。但我仍然有麻煩。現在我得到一個錯誤:「UnboundLocalError:局部變量'channelCount'在賦值之前引用」,如果我以簡單的方式解決該錯誤,它仍然不起作用。我編輯了這個問題,並且把我對你的答案做了什麼。對不起,如果我不能得到它。 –
不要編輯您的問題。如果您遇到無法解決的新問題,請發佈新問題。 – Mel