我正在尝试学习如何创建我的 Qt Symbian 应用程序的布局,以便它可以扩展/缩小并适应不同设备的屏幕尺寸。
在我的默认用户界面中,我添加了一个 QTabWidget,其中包含五个我想要放入设备屏幕的选项卡。我有两个问题:
如何使标签缩小以始终适合设备的屏幕,或者这是不可能的?如果一个设备的宽度为 240 像素,而另一个设备的宽度为 400 像素会怎样。正如您现在所看到的(诺基亚模拟器),选项卡位于屏幕之外。(而且我不想使用滚动按钮)
正如您在图片的红色部分(诺基亚模拟器 )中看到的那样,UI 中有一些我不想要的间距。相反,我希望 QTabWidget 填满整个屏幕(所有红色部分)。
总之,我现在正在学习,如果你能给我一些提示,告诉我在哪里可以找到更多关于构建适合许多设备和屏幕分辨率的 UI 的问题的信息,那就太好了。谢谢!
这是我的 UI 文件中的代码:
void setupUi(QMainWindow *UITest)
{
if (UITest->objectName().isEmpty())
UITest->setObjectName(QString::fromUtf8("UITest"));
UITest->resize(284, 167);
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(UITest->sizePolicy().hasHeightForWidth());
UITest->setSizePolicy(sizePolicy);
centralwidget = new QWidget(UITest);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
verticalLayout = new QVBoxLayout(centralwidget);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
tabWidget = new QTabWidget(centralwidget);
tabWidget->setObjectName(QString::fromUtf8("tabWidget"));
tabWidget->setTabPosition(QTabWidget::South);
tabWidget->setUsesScrollButtons(false);
tab = new QWidget();
tab->setObjectName(QString::fromUtf8("tab"));
tabWidget->addTab(tab, QString());
...More tabs...
verticalLayout->addWidget(tabWidget);
UITest->setCentralWidget(centralwidget);
retranslateUi(UITest);
QMetaObject::connectSlotsByName(UITest);
} // setupUi
void retranslateUi(QMainWindow *UITest)
{
UITest->setWindowTitle(QApplication::translate("UITest", "UITest", 0, QApplication::UnicodeUTF8));
UITest->setStyleSheet(QApplication::translate("UITest", "background: red;\n" "padding: 0px;", 0, QApplication::UnicodeUTF8));
tabWidget->setStyleSheet(QApplication::translate("UITest", "background: white;\n" "margin: 0px;\n" "padding: 0px;", 0, QApplication::UnicodeUTF8));
} // retranslateUi
在 main.cpp showMaximized() 用于显示我的小部件,因为我还想要底部的菜单按钮。