微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法在Qt Designer中创建两个独立的布局?

如何解决有没有办法在Qt Designer中创建两个独立的布局?

我是Qt Designer的新手,所以这个问题可能很愚蠢,但我真的很困惑。

我正在使用Qt Designer和PyQt5创建一个应用程序。我的应用程序包含几个屏幕,我想通过单击按钮在它们之间切换。

一个屏幕包括一个以垂直布局放置的按钮(button_1)和一个标签(label_1)。第二个屏幕还包含一个按钮(button_2)和一个标签(label_2),但是这些是具有不同大小和内容的不同窗口小部件。我想将button_2和label_2放置在水平布局中。

以前,我没有使用布局。我刚刚创建了一个.ui文件,并将button_2和label_2放在button_1和label_1上方。它们是重叠的,但不会影响性能,因为当显示button_1和label_1时,我使button_2和label_2不可见,反之亦然。但是现在我需要调整窗口的大小,并且需要将小部件放置在布局中。

首先想到的是创建两个单独的.ui文件,并在切换屏幕之间使用loadUi命令进行设置。但是我只需要使用一个.ui文件。这可能吗?如何创建两个独立的布局?也许还有另一种方法可以解决我的问题。非常感谢您的帮助。

解决方法

我认为在这种情况下,最好的选择是使用QStackedWidget作为标签和按钮的容器。要在Qt Designer中创建堆叠式小部件,您可以将堆叠式小部件从左侧的容器组拖动到父部件。这将创建一个包含两页的堆栈。然后可以独立设置每个页面。无论显示什么布局和添加到特定页面的小部件,只有在显示该页面时,该页面才可见。如果愿意,可以右键单击堆叠的小部件,然后从上下文菜单中选择“插入页面”。

要在Qt Designer中的页面之间导航,您可以在对象检查器的树中选择正确的窗口小部件,使用堆叠的窗口小部件右上角的两个黑色箭头,或使用堆叠的窗口小部件的上下文菜单。要在python脚本中的页面之间导航,您需要使用QStackedWidget.setCurrentIndex()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。