t
April 29, 2017, 6:29 p.m.

QMenu

qt, qmenu

Как сделать ширину всего бара поменьше, что бы слева и справа были отступы?

8.png
2

Do you like it? Share on social networks!

5
Evgenii Legotckoi
  • April 29, 2017, 8:46 p.m.
  • The answer was marked as a solution.

Можете попробовать поиграться со StyleSheet`ами, как для QMenuBar, так и для QMenu. Но не везде это будет работать, например, в ОС Ubuntu это не работает, поскольку menuBar уходит в верхнюю панель, как в Mac OS и стилизуется под стиль операционной системы.

Это для QMenuBar

ui->menuBar->setStyleSheet("QMenuBar::item {"
                                "spacing: 3px; "
                                "padding: 1px 4px;"
                                "background: red;"
                                "border-radius: 4px;"
                            "}");

Что-нибудь такое для QMenu

QMenu {
    background-color: #ABABAB; /* установить фон menu */
    border: 1px solid black;
}

QMenu::item {
    /* установить фон item в меню */
    background-color: transparent;
}

QMenu::item:selected { /* фон, когда Item выделен */
    background-color: #654321;
}

QMenu {
    background-color: white;
    margin: 2px; /*отступы вокруг menu */
}

QMenu::item {
    padding: 2px 25px 2px 20px;
    border: 1px solid transparent; 
}

Устанавливать также через StyleSheet

ui->menuFile->setStyleSheet("QMenu::item {"
                                "spacing: 3px; "
                                "padding: 1px 4px;"
                                "background: red;"
                                "border-radius: 4px;"
                                "}"
                                "QMenu {"
                                "background-color: white;"
                                "margin: 10px;"
                                "}");
    t
    • April 29, 2017, 10:09 p.m.

    А у вас есть статься или что-то вроде того, где находятся все команды размещения и тому подобия(типа: "padding", "margin", "background")?

      Evgenii Legotckoi
      • April 29, 2017, 10:12 p.m.

      Нет. Пока такой статьи нет. Но в целом QSS аналогичен обычному CSS из WEB`а

        t
        • April 30, 2017, 1:30 a.m.

        Я вот тут начал делать, то что вы написали, но у меня тут такое дело, что я создавал сам menubar и мне бы знать, что тут делать, как обратится к нему, что бы поменять его цвет и всякое такое?

          Evgenii Legotckoi
          • April 30, 2017, 10:22 a.m.

          Вам не кажется, что вы увлеклись со скриншотами? Добавляйте голый программный код в сообщения через специальный диалог. Это кнопка с двумя фигурными скобками. Иногда требуется повторить код у себя, чтобы ответить на вопрос. А перепечатывать код из изображения никто не будет .

          А теперь по вопросу.

          menuBar()->setStyleSheet("QMenuBar {"
              "color: green;"  // Цвет текста
              "backgorund-color: red;" // Цвет фона
              "padding: 10px 10px 15px 15px;" // Внутренние отступы
              "margin: 10px 10px 15px 15px;"); // Внешние отступы

            Comments

            Only authorized users can post comments.
            Please, Log in or Sign up
            • Last comments
            • AK
              April 1, 2025, 11:41 a.m.
              Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
            • Evgenii Legotckoi
              March 9, 2025, 9:02 p.m.
              К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
            • VP
              March 9, 2025, 4:14 p.m.
              Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
            • ИМ
              Nov. 22, 2024, 9:51 p.m.
              Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
            • Evgenii Legotckoi
              Oct. 31, 2024, 11:37 p.m.
              Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup