【问题标题】:Switching between information widgets using buttons使用按钮在信息小部件之间切换
【发布时间】:2021-08-12 18:56:36
【问题描述】:

我正在使用 PyQT 创建一个主窗口,用于自动化一个装满设备的房间。我希望窗口有一个横向屏幕,显示所有设备的一般参数,但是,当我单击与一个特定设备相关的按钮时,该横向屏幕将显示其特定配置(例如冰箱的温度) ,很像 PyQT 自带的属性编辑器。

有谁知道我应该为这个横向窗口使用哪个小部件以及如何将它链接到其他按钮以使其根据所选设备显示不同的信息?我最接近它的是选项卡小部件,但它还不是我想要的,因为我无法在屏幕上的任何位置放置选择正确选项卡的按钮。

我希望我的问题很清楚。

添加了样机图像以尝试使其清晰。第一张图片显示了带有咖啡机、灯、致命激光和冰箱作为设备的房间的横向菜单(如我所愿)。当我单击其中一个按钮时,例如致命激光按钮,横向菜单将变为第二张图像中显示的内容:激光的特定配置。冰箱、台灯、咖啡机等。

【问题讨论】:

  • 嗯,不,抱歉,这不是很清楚。你可以创建一个你想要实现的模型图像吗?还要考虑像您这样的一般问题,询问“我能做些什么来实现 xyz”很可能是基于意见的(并且这些问题通常是封闭的,因为它们与 StackOverflow 无关)。最后,您所指的属性编辑器在 Designer 中,它是 Qt 的一部分,而不是 PyQt。该小部件是一个非常专业的 QTableWidget 子类。
  • @musicamante,我添加了图片并按照您的建议更改了标签,谢谢。
  • 单击选项卡并不是选择它的唯一方法:研究有关 QTabWidget 的文档,特别是 setCurrentIndexsetCurrentWidget
  • (1) 使用QStackedWidget 作为横向小部件。 (2) 将按钮放在QButtonGroup 中(使用每个按钮 id 的相关堆栈索引)。 (3) 连接buttongroup.idClicked到stackedwidget.setCurrentIndex。
  • @MarcoMontevechi 太棒了!我已经添加了答案。

标签: python pyqt qpushbutton


【解决方案1】:

我建议您使用QStackedWidget 作为横向小部件。然后将按钮放在QButtonGroup 中,使用每个按钮 id 的堆叠小部件的相关页面索引。然后,您可以将buttongroup.idClicked 信号连接到stackedwidget.setCurrentIndex 插槽,以在横向小部件的页面之间切换。

【讨论】:

    猜你喜欢
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    相关资源
    最近更新 更多