【发布时间】:2014-07-18 09:28:16
【问题描述】:
好吧,主题。
我在我的桌面 Qt4 应用程序中使用停靠小部件,但我不喜欢停靠窗体的布局。我希望 right 停靠栏占据 右上角 默认情况下由 top 停靠栏占据。
我已经用谷歌搜索(说真的!)我可以用这个做什么,我发现an article 描述了QMainWindow::setCorner 的使用。这很简单,我最终将以下代码添加到窗口的构造函数中:
this->setCorner(Qt::TopRightCorner,Qt::RightDockWidgetArea);
效果很好,但我的问题来了。
该代码似乎在应用程序的逻辑代码部分描述了 UI,我认为这不是很好。在我的例子中,UI 是使用我使用 Qt Designer 创建的.ui 文件来描述的,因此 UI 事物与应用程序的主要逻辑事物是分开的。
问题是,有没有办法让 Qt 从.ui 文件中生成这样的代码?
第二个原因是 Qt Designer 中的表单看起来与我运行应用程序时得到的不同(当然,这种行为是完全合法且显而易见的)。
如果我不清楚,请告诉我。
谢谢。
【问题讨论】:
-
@Tay2510 它只是......在 Designer 中,右上角被顶部停靠小部件占据,而在运行时它被正确的停靠所占据(这就是我想要的,也是我所拥有的通过致电
setCorner获得)。 -
Well Designer 肯定是有限的。如果您知道 Qt 必须提供小部件、布局和大小策略方面的功能,您不妨用 C++ 编写 UI,并通过使用您自己的项目结构将其与逻辑分开,并从中获得一些好处。由设计师做所有事情似乎确实是不可能的。
标签: c++ qt qt4 qt-designer