Qt:维护跨平台的GUI控件

时间:2013-04-03 16:41:23

标签: qt qt4

我正在编写适用于Linux和Windows的Qt GUI应用程序。 我已经能够在Linux和Windows上部署它,并支持各自平台的共享库。

它在Windows和Linux上运行得非常好,只是当我运行已部署的二进制文件时,控件在Linux上没有出现预期效果。例如完全看不到QGroupBox,按钮和文本标签大小不像我设置的那样。

如果我在Linux上运行Qt Creator,控件看起来没问题。 是否有任何特定的UI文件需要与其他必需的共享库一起部署,以确保控件在所有平台上都能正常运行?

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试使用参数-style windowsxp运行程序。您还应该查看QStyle及其衍生物。在某些情况下,您必须编写与平台相关的代码,例如:

#ifdef Q_OS_WIN
    label->setFrameStyle(QFrame::Panel | QFrame::Raised);
#else
    label->setFrameStyle(QFrame::Box | QFrame::Sunken);
#endif
statusBar->addWidget(label);