Qt, rendendo utente che si restringe e si espande
Domanda
Sto cercando di imparare a creare il layout della mia applicazione Qt Symbian in modo che si espanderà / ridursi e adattarsi alle dimensioni dello schermo dei dispositivi differenti.
Nel mio ui predefinita Ho aggiunto un QTabWidget con cinque schede che voglio per adattarsi allo schermo del dispositivo. Ho due problemi:
-
Come posso fare le schede a ridursi per adattarsi sempre nello schermo del dispositivo, o è che non è possibile? Che cosa succede se un dispositivo ha una larghezza di 240px e un altro una larghezza di 400px. Come si può vedere ora ( Nokia Emulator ) le schede vanno al di fuori di lo schermo. (E io non voglio usare ScrollButtons)
-
Come si può vedere nella parte rossa del quadro ( Nokia Emulator ) V'è una certa distanza nell'interfaccia utente che non voglio. Invece io voglio il QTabWidget per riempire l'intero schermo (tutta la parte rossa).
In sintesi sto imparando in questo momento e sarebbe bello se potesse dare alcuni suggerimenti su dove cercare ulteriori informazioni per quanto riguarda questi problemi con la costruzione di un utente che si inserisce in molti dispositivi e risoluzioni dello schermo. Grazie!
Questo è il codice nel mio file 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
In main.cpp SHOWMAXIMIZED () viene utilizzato per mostrare il mio widget di come voglio anche i pulsanti di menu in basso.
Soluzione
Come si fa a mostrare il widget? Io suggerisco di usare il metodo showfullscreen di mostrarlo -. Che potrebbe farlo