سؤال

أحاول أن أتعلم كيفية إنشاء تخطيط تطبيق QT Symbian الخاص بي بحيث يتم توسيعه/يتقلص ويتناسب مع حجم شاشة الأجهزة المختلفة.

في واجهة المستخدم الافتراضية ، أضفت QTABWidget مع خمس علامات تبويب أريد أن أتناسب مع شاشة الجهاز. لدي مشكلتان:

  1. كيف يمكنني جعل علامات التبويب تتقلص دائمًا لتناسب شاشة الجهاز ، أم أن هذا غير ممكن؟ ماذا لو كان لدى أحد الأجهزة عرض 240 بكسل وأخرى بعرض 400 بكسل. كما ترون الآن (محاكي نوكيا) تباينات خارج الشاشة. (ولا أريد استخدام Scrollbuttons)

  2. كما ترون في الجزء الأحمر من الصورة (محاكي نوكيا) هناك بعض التباعد في واجهة المستخدم التي لا أريدها. بدلاً من ذلك ، أريد أن يملأ 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 () يتم استخدامه لإظهار عنصر واجهة المستخدم كما أريد أيضًا أزرار القائمة في الأسفل.

هل كانت مفيدة؟

المحلول

كيف تظهر القطعة؟ أقترح استخدام طريقة showfullscreen لإظهارها - قد تفعل ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top