将 Qt .ui 文件的一部分提取到其自己的 .ui 文件中
我们有一位设计师为应用程序创建用户界面。主窗口有几个用于就地面板切换的 QStackedWidget。我想要做的是将构成 QStackedWidget 每个页面的每个单独面板提取到它自己的 .ui 文件中。
有没有一种简单的方法可以从 Qt Designer 中完成此任务,或者是否有任何其他工具可以帮助完成此任务,而无需重新设计自己的 .ui 文件中的所有面板?
We have a designer creating a user interface for an application. The main window has several QStackedWidgets used for in place panel switching. What I'd like to be able to do is extract each individual panel that makes up each page of the QStackedWidget into it its own .ui file.
Is there an easy way to accomplish this from within Qt Designer, or are there any other tools to help accomplish this task short of redesigning all of the panels in their own .ui files?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以将每个面板剪切/粘贴到空白 QWidget(使用
File > New
创建)中,并将这些小部件保存在它们自己的 .ui 文件中。You can cut/paste each panel into a blank QWidget (created with
File > New
), and save these widgets in their own .ui file.当您复制包含其他小部件(称为 miniWidgets)的小部件(我们称其为 widgetA)时,仍应布局 miniWidgets。 WidgetA 仍然需要重新布局,在这种情况下,添加布局非常容易,因为您实际上可以使用您想要的任何布局(我建议垂直或水平)。只需右键单击包含 widgetA 的小部件,然后选择布局 -> 水平布局即可。
如果有多个小部件需要重新布局,那么您就没有正确复制面板,应该复制一个占据更多面板的小部件。
When you copy a widget(lets call it widgetA) that contains other widgets(calling them miniWidgets) then the miniWidgets should still be layed out. WidgetA still needs a relayout and in that case its very easy to add a layout since you can practically use any layout you want (i suggest vertical or horizontal). Just right click on the widget containing widgetA then select Layout->horizontal Layout and that should do the trick.
If there is more than one widget than needs relayout then you are not copying the panel correctly and should copy one that englobes more of the panel.