我只是想进入 QT(和 KDE)程序,并且遇到了一个障碍,试图向嵌入到我的 KDE 4 程序QDockWidget
中的 .ui 文件(基于 a )添加一个可浮动、可拖动的文件。QWidget
这一切都来自 KDevelop 4 提供的基本模板,所以虽然我了解发生了什么,但我只是不知道更改它的最佳方法。
这是交易:main.cpp 生成一个新AEmpire
窗口,开始整个展示:
AEmpire::AEmpire()
: KXmlGuiWindow(),
m_view(new AEmpireView(this)),
m_printer(0)
{
// tell the KXmlGuiWindow that this is indeed the main widget
setCentralWidget(m_view);
setupActions();
setupGUI();
}
当一个 newAEmpireView(this)
被创建(继承自QWidget
)并被分配给 m_view 时,这个构造函数被调用:
AEmpireView::AEmpireView(QWidget *)
{
ui_aempireview_base.setupUi(this);
settingsChanged();
setAutoFillBackground(true);
}
所以,当我在 QT Designer 中编辑我的程序的 ui 时,我实际上是在编辑AEmpireView_base
ui 文件,它是一个QWidget
. 它仅代表KXmlGuiWindow
(派生自QMainWindow
)的主视图,并在运行时加载。
那么,如何将可浮动、可拖动QDockWidget
的 s 添加到我的主应用程序中?单独设计它们并将它们添加到 UI 中是最佳选择吗?或者可能删除整个AEmpireView
类,并使我的 ui 文件直接表示KXmlGuiWindow
要由AEmpireClass
?
还是我完全忽略了一些明显的东西?谢谢阅读!