【问题标题】:How can ı change whole window with a button [duplicate]如何使用按钮更改整个窗口[重复]
【发布时间】:2019-11-04 11:53:14
【问题描述】:

我有一个窗口有单选按钮,更改其中一个后我想单击按钮并更改所有窗口。不在新窗口上

我找不到答案。

# ...
self.setWindowTitle("Test Your Math...")
r1 = QRadioButton("addition")
r2 = QRadioButton("extraction")
r3 = QRadioButton("multiplication")
r4 = QRadioButton("division")

h_box = QHBoxLayout()
h_box.addWidget(r1)
h_box.addWidget(r2)
h_box.addWidget(r3)
h_box.addWidget(r4)


v_box = QVBoxLayout()
v_box.addWidget(self.label_text)
v_box.addStretch()
v_box.addLayout(h_box)
self.setLayout(v_box)
v_box.addWidget(self.a)
changebutton = QPushButton()
changebutton.setIcon(QIcon("blabla"))
changebutton.setIconSize(QSize(65,65))
v_box.addWidget(changebutton)

【问题讨论】:

  • 是什么改变了整个窗口?更改窗口中每个小部件的颜色?更改所有图标?等。您的问题不清楚,具体并指出您要更改的内容。
  • 我举个例子。首先我有一些单选按钮和一个按钮。当我单击按钮时,我想看到 Qline 编辑一些其他按钮和一些其他单选按钮
  • 好的,这可以使用堆叠的小部件来完成如果我理解你在这里说的话(见下面我的其他评论)
  • @J.Doe 我已经发布了一个与此类似的示例,以响应现在在顶部表示的“PyQt:如何在 QStackedWidget 中切换小部件”

标签: python pyqt pyqt5


【解决方案1】:
def some_function(*args, **kwargs):
   change_entire_window()

button = QPushButton("Click me!")
button.clicked.connect(some_function)

那么当你点击button时,会触发some_function

【讨论】:

  • 请注意,具体取决于此人尝试执行的操作,这可能是完全错误的。我同意 eyllanesc,提问者需要准确定义它们的意思,以便产生正确的答案。此外,这个答案非常模糊,我什至会说微软本质上是这样的。
  • 如果你想给出一个高质量的答案,你应该遵循How to Answer :-) 中指出的指导方针
  • change_entire_window() 这就是我的意思我怎么能做到这一点你能举一个简单的例子
  • @J.Doe by Entire Window 你的意思是你想把你的 QMainWindow 完全换成另一个 QMainWindow 还是你只需要改变你正在使用的 Widget 呈现的当前视图?请注意,当我这样做时,我可以看到后者的原因,但不是前者,但您似乎暗示的是前者。
  • 啊我忘了是button.clicked.connect,我的错,已编辑。
猜你喜欢
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-02
相关资源
最近更新 更多