Есть ли "простой способ" добавления пользовательского интерфейса в приложение Qt при использовании QGraphicsView? - PullRequest
0 голосов
/ 29 мая 2019

Я использую QGraphicsView, чтобы показывать случайно сгенерированные полигоны в QGraphicsScene, и все это работает отлично, но теперь я хочу добавить пользовательский стиль пользовательского интерфейса в свое приложение, и это довольно раздражает, когда я делаю все вручную, хотя Есть так много замечательных опций, как QtQuick. Можно ли вообще использовать QtQuick или что-то подобное вместе с graphicsView?

Краткое примечание: Я новичок в Qt, поэтому я могу упустить что-то очевидное здесь!

EDIT:
Добавил изображение для пояснения, я просто хочу изменить ползунки и кнопки, чтобы иметь собственную текстуру!

enter image description here

Ответы [ 2 ]

1 голос
/ 29 мая 2019

Используйте класс QQuickWidget для встраивания представления QML в виджеты Qt.

Например:

// main.qml
Item {
    id: main
    visible: true
    width: 200

    Column {
        ComboBox {
            model: ["Option 1", "Option 2", "Option 3"]
        }

        Slider {
        }
        Slider {
        }
        Slider {
        }
    }
}
// main.cpp
#include <QQuickWidget>

int main(int argc, char *argv[])
{

    QApplication app(argc, argv);


    QQuickWidget *view = new QQuickWidget;
    view->setSource(QUrl(QStringLiteral("qrc:/main.qml")));

    QWidget* widget = new QWidget();
    QHBoxLayout* layout = new QHBoxLayout(widget);
    layout->addWidget(view);
    layout->addWidget(new QLabel("A classic widget"));

    widget->show();
    return app.exec();
}

enter image description here

0 голосов
/ 29 мая 2019

Ромха Кореев ответит правильно, если вы хотите использовать QML для этой части интерфейса.

Еще один вариант стилей - использование таблиц стилей. См. Справочник по Qt

Если вам неудобно настраивать виджеты в коде, попробуйте Qt Designer .

Я использую эти 2 инструмента для создания стилизованных приложений пользовательского интерфейса с помощью Qt, и нахожу это очень удобным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...