Я пытаюсь научиться создавать макет моего приложения Qt Symbian, чтобы оно расширялось / уменьшалось и вписывалось в размер экрана различных устройств.
В пользовательском интерфейсе по умолчанию я добавил QTabWidget с пятью вкладками, которые я хочу разместить на экране устройства. У меня две проблемы:
Как сделать так, чтобы вкладки сокращались, чтобы они всегда вписывались в экран устройства, или это невозможно? Что делать, если одно устройство имеет ширину 240 пикселей, а другое шириной 400 пикселей. Как вы можете видеть ( Nokia Emulator ), вкладки выходят за пределы экрана. (И я не хочу использовать кнопки прокрутки)
Как видно на красной части картинки ( Nokia Emulator
) есть некоторый интервал в пользовательском интерфейсе, который я не хочу. Вместо этого я хочу, чтобы QTabWidget заполнил весь экран (всю красную часть).
В целом, я учусь прямо сейчас, и было бы здорово, если бы вы могли дать мне несколько советов о том, где искать дополнительную информацию об этих проблемах при создании пользовательского интерфейса, подходящего для многих устройств и разрешений экрана. Спасибо!
Это код в моем файле пользовательского интерфейса:
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 () используется для отображения моего виджета, так как я также хочу, чтобы кнопки меню были внизу.