Установка стиля в qml Qt - PullRequest
       23

Установка стиля в qml Qt

1 голос
/ 14 февраля 2020

Я хочу установить стиль для своих элементов в qml. Для этого я хочу использовать такой стиль, как Material Style. Используя пример, который можно найти под:

https://doc.qt.io/qt-5/qtquickcontrols2-material.html

import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls.Material 2.12

ApplicationWindow {
   visible: true

   Material.theme: Material.Dark
   Material.accent: Material.Purple

   Column {
       anchors.centerIn: parent

       RadioButton { text: qsTr("Small") }
       RadioButton { text: qsTr("Medium");  checked: true }
       RadioButton { text: qsTr("Large") }
     }
}

Дает мне результат, показанный на изображении, которое я прикрепил. Независимо от того, какой стиль я использую, ничего не меняется.

В настоящее время я использую новейшую бесплатную версию Qt под Windows 10 Os.

Кто-нибудь может мне помочь? И возможно ли глобально переписать стиль и создать собственный стиль, просто в QML.

enter image description here

Ответы [ 2 ]

3 голосов
/ 14 февраля 2020

Как указано в документах :

Чтобы запустить приложение со стилем Материал, смотрите Использование стилей в элементах быстрого управления Qt .

Существует несколько способов установить стиль в Qt Quick Control 2:

  1. Использование QQuickStyle в C ++ :

    • добавить QT += quickcontrols2 в ваш .pro и использовать #include <QQuickStyle> и QQuickStyle::setStyle("Material"); в основном. cpp
  2. Аргумент командной строки :

    • Вы можете запустить из консоли / CMD, добавив аргумент: ./your_executable -style material.
    • Если вы используете Qt Creator, вы можете go в Projects-> Build & Run- > Запустите и в командной строке аргументы добавьте: -style material.

enter image description here

Переменная среды :

  • Вы можете запустить из консоли / CMD: QT_QUICK_CONTROLS_STYLE=material ./your_executable
  • Если вы используете Qt Creator, вы можете добавьте его в раздел Projects-> Build & Run-> Run-> Run Environment.

enter image description here

  • или добавьте qputenv("QT_QUICK_CONTROLS_STYLE", "material"); в основном. cpp.

Файл конфигурации :

Файл qtquickcontrols2.conf должен быть создан:

[Controls]
Style=Material

и должен быть в qresource:

<RCC>
    <qresource prefix="/">
        <file>main.qml</file>
        <file>qtquickcontrols2.conf</file>
    </qresource>
</RCC>
0 голосов
/ 14 февраля 2020

Вы должны также установить стиль из C ++. Смотрите эту документацию по Qt .

Итак, в основном вы добавляете QQuickStyle::setStyle("Material");

...