Question

Je suis en train d'apprendre comment créer la mise en page de mon application Qt Symbian pour qu'il développer / rétrécir et s'adapter à la taille de l'écran des différents périphériques.

Dans mon ui par défaut j'ai ajouté un QTabWidget avec cinq onglets que je veux entrer dans l'écran de l'appareil. J'ai deux problèmes:

  1. Comment puis-je faire les onglets pour rétrécir pour tenir toujours dans l'écran de l'appareil, ou est-ce pas possible? Que faire si un dispositif a une largeur de 240px et une autre d'une largeur de 400px. Comme vous pouvez le voir maintenant ( Nokia Emulator ) les onglets vont à l'extérieur de l'écran. (Et je ne veux pas utiliser ScrollButtons)

  2. Comme vous pouvez le voir dans la partie rouge de l'image ( Nokia Emulator ) Il y a un certain espacement dans l'interface utilisateur que je ne veux pas. Au lieu de cela, je veux que le. QTabWidget pour remplir tout l'écran (toute la partie rouge)

En résumé, je suis d'apprentissage en ce moment et ce serait bien si vous pouviez me donner quelques conseils sur l'endroit où chercher plus d'informations au sujet de ces problèmes avec la construction d'une interface utilisateur qui intègre dans de nombreux appareils et résolutions d'écran. Merci!

Ceci est le code dans mon fichier de l'interface utilisateur:

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

Dans main.cpp showMaximized () est utilisé pour montrer mon widget comme je veux aussi les boutons de menu en bas.

Était-ce utile?

La solution

Comment pouvez-vous montrer le widget? Je suggère d'utiliser la méthode de showfullscreen pour montrer -. Qui pourrait le faire

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top