0
我試圖顯示單擊按鈕時的一組操作以及單擊另一個按鈕時的其他一組選項。 下面是代碼:雖然小部件已更新,但未將Pyqt5更新的小部件添加到佈局
class Screen(QWidget):
def __init__(self):
super(Screen, self).__init__()
layout = QHBoxLayout(self)
self.all_running()
layout.addWidget(self.running_full_widget)
self.actions('1')
layout.addWidget(self.actions_full_widget)
self.setLayout(layout)
self.show()
def all_running(self):
self.running_full_widget = QWidget()
runnning_full_layout= QVBoxLayout()
button1 = QPushButton("btn1")
button2 = QPushButton("btn2")
button1.clicked.connect(lambda: self.actions('2'))
button2.clicked.connect(lambda: self.actions('3'))
runnning_full_layout.addWidget(button1)
runnning_full_layout.addWidget(button2)
self.running_full_widget.setLayout(runnning_full_layout)
def actions(self,value):
self.actions_full_widget= QWidget()
val = int(value)
print(val)
actions_layout = QVBoxLayout()
for i in range(val):
actions_item = QLabel(str(i))
actions_layout.addWidget(actions_item)
self.actions_full_widget.setLayout(actions_layout)
app = QApplication(sys.argv)
Gui = Screen()
sys.exit(app.exec_())
當按鈕被點擊,我可以看到的價值被更新,但它不是在主要佈局更新。 我該如何動態更新小部件? 如何在需要基於動態值添加小部件的情況下執行此操作。 我錯過了什麼信號和插槽? 如果我錯了,請糾正我。謝謝
感謝您的回覆。是的,當我刪除以前的佈局時,它正在工作。 –
我正在嘗試製作可點擊的動態小部件。一切正常,但問題在於所有動態小部件都指向最後一個小部件。我嘗試使用發件人和其他方法。我們如何解決這個問題?在Im下面發佈代碼的答案。 –
你在問另一個關於一些不同代碼的問題。這應該是另一個帖子。這絕對不是最初發布的問題的「答案」。 –