Russian Qt Forum

Qt => Вопросы новичков => Тема начата: QPeter от Апрель 15, 2014, 14:49



Название: buttonBox в стиле Flat [РЕШЕНО]
Отправлено: QPeter от Апрель 15, 2014, 14:49
Как к  buttonBox применить стиль Flat? И можно ли вообще это сделать? setFlat() не работает(


Название: Re: buttonBox в стиле Flat
Отправлено: OKTA от Апрель 15, 2014, 14:51
setFlat(true)?


Название: Re: buttonBox в стиле Flat
Отправлено: QPeter от Апрель 15, 2014, 14:58
К buttonBox не применяется(

(http://cs7001.vk.me/c606125/v606125502/54f6/_3nCyHRtins.jpg)


Название: Re: buttonBox в стиле Flat
Отправлено: Old от Апрель 15, 2014, 15:01
Получайте указатели на сами кнопки из buttonBox и устанавливайте.


Название: Re: buttonBox в стиле Flat
Отправлено: OKTA от Апрель 15, 2014, 15:03
Ах бокс, а не баттон..
Видимо можно прямо через QList<QAbstractButton *> buttons() const, чтобы установить всем и разом? Ну всмысле, чтобы получить указатели разом  ;D


Название: Re: buttonBox в стиле Flat
Отправлено: QPeter от Апрель 15, 2014, 15:08
Ах бокс, а не баттон..
Видимо можно прямо через QList<QAbstractButton *> buttons() const, чтобы установить всем и разом? Ну всмысле, чтобы получить указатели разом  ;D
Ко всем не надо. Если так сделать то и обычные кнопки во Flat будут...наверное) Мне нужно чтоб только из Бокса они Flat'ом стали.)


Название: Re: buttonBox в стиле Flat
Отправлено: QPeter от Апрель 15, 2014, 15:09
Получайте указатели на сами кнопки из buttonBox и устанавливайте.
А поподробней можно, как указатель на кнопку получить? Как к ней обратится?)


Название: Re: buttonBox в стиле Flat
Отправлено: OKTA от Апрель 15, 2014, 15:09
Ну а этим методом ты и получаешь список указателей на все кнопки внутри этой группы


Название: Re: buttonBox в стиле Flat
Отправлено: QPeter от Апрель 15, 2014, 15:15
Ну а этим методом ты и получаешь список указателей на все кнопки внутри этой группы

Ммм а можешь поподробнее показать как им пользоваться??)
 ::)
Скажем на примере ui->buttonBox)


Название: Re: buttonBox в стиле Flat
Отправлено: OKTA от Апрель 15, 2014, 15:27
Не не, все сами, все сами  ;D

1. Получил список указателей на кнопки через QList<QAbstractButton *> QButtonGroup::buttons () const (типа QList<QAbstractButton *> abstractButtonsList = ui->buttonBox->buttons())
2. Идешь через весь список через тот же foreach
3. Совершаешь явное преобразование для каждого указателя к указателю на QPushButton
4. к полученному указателю на QPushButton делаешь setFlat(true).

Да поправит меня Old, если я не прав)


Название: Re: buttonBox в стиле Flat
Отправлено: QPeter от Апрель 15, 2014, 15:40
Не не, все сами, все сами  ;D

1. Получил список указателей на кнопки через QList<QAbstractButton *> QButtonGroup::buttons () const (типа QList<QAbstractButton *> abstractButtonsList = ui->buttonBox->buttons())
2. Идешь через весь список через тот же foreach
3. Совершаешь явное преобразование для каждого указателя к указателю на QPushButton
4. к полученному указателю на QPushButton делаешь setFlat(true).

Да поправит меня Old, если я не прав)

2, 3 пункт -тёмный лес...) :P

как обращаться к этому списку, как с ним работать?
И как преобразование указателей делать, тоже чего то не вспомню как...хотя наверное должен знать, это ж с++ скорее чем qt...(


Название: Re: buttonBox в стиле Flat
Отправлено: gil9red от Апрель 15, 2014, 16:06
Если,
Код:
QList<QAbstractButton *> abstractButtonsList = ui->buttonBox->buttons()
тогда:
Код:
foreach( QAbstractButton * abstractButton, abstractButtonsList ) // 2.
{
    QPushButton * button = qobject_cast < QPushButton * > ( abstractButton ); // 3.
    // Если не удалось привести тип, тогда указатель будет равен 0
    if ( button )
       button->setFlat( true );
}

Все просто :)


Название: Re: buttonBox в стиле Flat
Отправлено: OKTA от Апрель 15, 2014, 16:13
Ну вот, а я надеялся, что человек почитает и сам попробует сделать)
Лучше все же почитать с++, а то чем дальше в лес, тем больше дров  ;)
Как говорит kambala, "Изучением C++ вымощена дорога в Qt"  ;)


Название: Re: buttonBox в стиле Flat
Отправлено: gil9red от Апрель 15, 2014, 16:23
Ну вот, а я надеялся, что человек почитает и сам попробует сделать)
Лучше все же почитать с++, а то чем дальше в лес, тем больше дров  ;)
Как говорит kambala, "Изучением C++ вымощена дорога в Qt"  ;)
Глядишь, запомнит, пока будет копипастить или хотя бы поймет принцип алгоритма :)


Название: Re: buttonBox в стиле Flat
Отправлено: OKTA от Апрель 15, 2014, 16:32
Вот видишь, QPeter, ты должен обещать нам, что будешь изучать С++, а не только Qt.  ;D
Qt это не язык, это средство, а язык это С++  ;)


Название: Re: buttonBox в стиле Flat
Отправлено: QPeter от Апрель 15, 2014, 19:10
Обязуюсь изучить..)
Ну а вообще один раз увидел, запомнил, потом уже пытаюсь модифицировать и как то применять в других задачах наработанные навыки..)


Название: Re: buttonBox в стиле Flat
Отправлено: QPeter от Апрель 15, 2014, 19:12
Кстати может подскажете почему при просмотре в дизайнере надпись в кнопке на русском, а при компиляции на английском?)


Название: Re: buttonBox в стиле Flat
Отправлено: Old от Апрель 15, 2014, 19:49
Потому что, дизайнер применяет локализацию, а вы нет. :)


Название: Re: buttonBox в стиле Flat
Отправлено: QPeter от Апрель 15, 2014, 20:27
Потому что, дизайнер применяет локализацию, а вы нет. :)

И как же её применить?)


Название: Re: buttonBox в стиле Flat
Отправлено: Old от Апрель 15, 2014, 20:35
И как же её применить?)
В документации раздел: Internationalization with Qt
Конкретно смотрите: QTranslator


Название: Re: buttonBox в стиле Flat
Отправлено: QPeter от Апрель 15, 2014, 21:05
Окей, спасибо)