我创建了一个名为""的按钮,窗口显示了下一个名为"第二个"的按钮。点击按钮" First",但按钮" Second"没有动过:
self.b2.move(50,50)
问题是什么?
import sys
from PyQt5 import QtWidgets
class Window(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.init_UI()
def init_UI(self):
self.Centr= QtWidgets.QWidget()
self.setCentralWidget(self.Centr)
self.window = QtWidgets.QStackedWidget(self.Centr)
self.b1 = self.addButton()
self.window.addWidget(self.b1)
self.b2 = self.addButton_2()
self.b2.move(50,50)
self.window.addWidget(self.b2)
self.b1.clicked.connect(self.b1_clk)
self.currentStack(0)
self.show()
def addButton(self):
b1 = QtWidgets.QPushButton("First")
return b1
def addButton_2(self):
b2 = QtWidgets.QPushButton("Second")
return b2
def b1_clk(self):
self.currentStack(1)
def currentStack(self, index):
self.window.setCurrentIndex(index)
app = QtWidgets.QApplication(sys.argv)
w = Window()
sys.exit(app.exec_())
抱歉我的英文。 谢谢你的关注!
答案 0 :(得分:0)
按钮移动,但随后会立即将其添加到QStackedWidget
,这将更改父级并撤消移动。另外,使用QStackedWidget
时,子窗口小部件的大小和位置由QStackedWidget