Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: DenisG от Июль 09, 2009, 18:30



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







Название: Re: Ненажимаемая кнопка(flat) - синтаксис
Отправлено: registrationfedser87 от Июль 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 * /
        }


Название: Re: Ненажимаемая кнопка(flat) - синтаксис
Отправлено: TukiNov от Июль 10, 2009, 11:52
Если я прально понял то :
Код:
  mapSearchResultBtn->setIcon(QIcon(":icons/widelands.png"));
  mapSearchResultBtn->setFlat(true);
  mapSearchResultBtn->setCheckable(true);
  mapSearchResultBtn->toggle();
  mapSearchResultBtn->setStyleSheet("QPushButton:flat {border: none;}");


Название: Re: Ненажимаемая кнопка(flat) - синтаксис
Отправлено: DenisG от Июль 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.....


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



         




Название: Re: Ненажимаемая кнопка(flat) - синтаксис
Отправлено: spectre71 от Июль 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 {...}")


Название: Re: Ненажимаемая кнопка(flat) - синтаксис
Отправлено: DenisG от Июль 13, 2009, 15:54
THX!!