Russian Qt Forum
Ноябрь 25, 2024, 02:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QToolBar stylesheet  (Прочитано 5374 раз)
KrupaKarlo
Гость
« : Май 05, 2015, 14:24 »

Добрый день! Столкнулся со следующий проблемой. Задаю stylesheet для QToolBar. Все хорошо кроме случая когда QAction в состоянии checked

Вот код который я добавил в стандартное приложение с QMainWindow

Код:
#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QToolButton>
#include <QCommonStyle>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->mainToolBar->setStyleSheet("background-color: qlineargradient(spread:pad, x1:1, y1:0.455686, x2:1, y2:1, stop:0 rgba(127, 127, 127, 255), stop:1 rgba(96, 96, 96, 255)); color:rgb(255, 255, 255);");
    ui->mainToolBar->addAction("TEST1")->setCheckable(true);
    ui->mainToolBar->addAction("TEST2")->setCheckable(true);
    ui->mainToolBar->addAction("TEST3")->setCheckable(true);
}

MainWindow::~MainWindow()
{
    delete ui;
}


Помогите разобраться плз =)
« Последнее редактирование: Май 12, 2015, 12:16 от KrupaKarlo » Записан
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #1 : Май 13, 2015, 12:34 »

Для данного случая нужно перечислить несколько состояний, но ключевым является - "border: none":
Код
C++ (Qt)
   ui->mainToolBar->setStyleSheet(
               "QToolBar {"
               "background-color: qlineargradient(spread:pad, x1:1, y1:0.455686, x2:1, y2:1, stop:0 rgba(127, 127, 127, 255), stop:1 rgba(96, 96, 96, 255));"
               "color:rgb(255, 255, 255);"
               "}"
               "QToolButton { "
               "border: none;"
               "padding: 5;"
               "}"
               "QToolButton:hover { "
               "background-color: white;"
               "}"
               "QToolButton:checked:pressed { "
               "background-color: white;"
               "}"
               "QToolButton:pressed { "
               "background-color: red;"
               "}"
               "QToolButton:checked { "
               "background-color: red;"
               "}"
               );
 
« Последнее редактирование: Май 13, 2015, 12:38 от poru » Записан
KrupaKarlo
Гость
« Ответ #2 : Май 18, 2015, 16:22 »

Спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.087 секунд. Запросов: 23.