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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Ненажимаемая кнопка(flat) - синтаксис  (Прочитано 6021 раз)
DenisG
Гость
« : Июль 09, 2009, 18:30 »

Есть кнопка с png изображением и свойством flat
Изображение на кнопке имеет кривую форму. Когда нажимаешь на кнопку у нее появляется фон, который отличается от общего фона.
Нужно, что бы при нажатии, действие по кнопке было, но что бы она не подсвечивалась никак(ни фона не рамки) . Плюс у нее еще рамка появляется прямоугольная.
посмотрел кое какие примеры, но именно этого не нашел.
С qt только начал заниматься.
Дайти плз простенький примерчик c синтаксисом, как задать кнопке цвет, которым она подсвечивается при нажатии и убрать рамку.





Записан
registrationfedser87
Гость
« Ответ #1 : Июль 10, 2009, 06:26 »

Тебе нужно посмотреть style sheet в Qt Assistant. Вот один из примеров из него:
Код
C++ (Qt)
QPushButton {
            border: 2px solid #8f8f91;
            border-radius: 6px;
            background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                              stop: 0 #f6f7fa, stop: 1 #dadbde);
            min-width: 80px;
        }
 
        QPushButton:pressed {
            background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                              stop: 0 #dadbde, stop: 1 #f6f7fa);
        }
 
        QPushButton:flat {
            border: none; / * no border for a flat push button * /
        }
 
        QPushButton:default {
            border-color: navy; / * make the default button prominent * /
        }
Записан
TukiNov
Гость
« Ответ #2 : Июль 10, 2009, 11:52 »

Если я прально понял то :
Код:
  mapSearchResultBtn->setIcon(QIcon(":icons/widelands.png"));
  mapSearchResultBtn->setFlat(true);
  mapSearchResultBtn->setCheckable(true);
  mapSearchResultBtn->toggle();
  mapSearchResultBtn->setStyleSheet("QPushButton:flat {border: none;}");
Записан
DenisG
Гость
« Ответ #3 : Июль 10, 2009, 14:51 »

Спасибо всем ответившим;)
я сделал как TukiNov нужный эффект достигнут

а вот с синтаксимом из асистента не очень понял.

Код:

QPushButton {
             border: 2px solid #8f8f91;
             border-radius: 6px;
             background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                               stop: 0 #f6f7fa, stop: 1 #dadbde);
             min-width: 80px;
         }

как применять эту конструкцию? она в таком виде не компилиться даже... 
Как я понял, можно сделать переменную QString в нее забить параметры стиля и ее вставть когда вызываешь setStyleSheet.....


В основном пишу на чистом Си и не для писюков, с ходу в эти прибамбасы не вьезжаю%)



         


« Последнее редактирование: Июль 10, 2009, 15:45 от DenisG » Записан
spectre71
Гость
« Ответ #4 : Июль 10, 2009, 18:35 »

Спасибо всем ответившим;)
я сделал как TukiNov нужный эффект достигнут

а вот с синтаксимом из асистента не очень понял.

Код:

QPushButton {
             border: 2px solid #8f8f91;
             border-radius: 6px;
             background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                               stop: 0 #f6f7fa, stop: 1 #dadbde);
             min-width: 80px;
         }

как применять эту конструкцию? она в таком виде не компилиться даже... 
Как я понял, можно сделать переменную QString в нее забить параметры стиля и ее вставть когда вызываешь setStyleSheet.....

В основном пишу на чистом Си и не для писюков, с ходу в эти прибамбасы не вьезжаю%)

Читать нужно внимательней!
Имеется ввиду:

myPushButton ->setStyleSheet("QPushButton {...}")
Записан
DenisG
Гость
« Ответ #5 : Июль 13, 2009, 15:54 »

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


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