2

我正在尝试学习如何创建我的 Qt Symbian 应用程序的布局,以便它可以扩展/缩小并适应不同设备的屏幕尺寸。

在我的默认用户界面中,我添加了一个 QTabWidget,其中包含五个我想要放入设备屏幕的选项卡。我有两个问题:

  1. 如何使标签缩小以始终适合设备的屏幕,或者这是不可能的?如果一个设备的宽度为 240 像素,而另一个设备的宽度为 400 像素会怎样。正如您现在所看到的(诺基亚模拟器),选项卡位于屏幕之外。(而且我不想使用滚动按钮)

  2. 正如您在图片的红色部分(诺基亚模拟器 )中看到的那样,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() 用于显示我的小部件,因为我还想要底部的菜单按钮。

4

1 回答 1

1

你如何显示小部件?我建议使用 showFullScreen 方法来显示它 - 可能会这样做。

于 2010-01-27T14:39:06.553 回答