crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Как создать группу кнопок (buttonGroup) в Дизайнере?
Andrewshkovskii
  опции профиля:
сообщение 9.12.2009, 15:17
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


QButtonGroup через дизайне, это просто QGroupBox , и туда кнопочек напихать?:)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 9.12.2009, 15:34
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(Andrewshkovskii @ 9.12.2009, 15:17) *
и туда кнопочек напихать?


Нет, тебе нужно выделить все кнопки, которые ты хочешь поместить в группу. Затем кликнуть правой кнопкой мышки и выбрать "Назначить новую группу кнопок"->"Новая группа кнопок". В коде уже использовать указатель на buttonGroup, создать слот в главном окне типа on_buttonGroup_buttonClicked(QAbstractButton * button).

   //обнулим матрицу
    for (int i=0;i<30;++i)
         for(int j=0;j<30;++j)
             matrix[i][j]=0;


Этот способ обнуления конечно работает, но так имхо будет правильней:

memset(matrix, 0, sizeof(matrix));
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 9.12.2009, 16:05
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(SABROG @ 9.12.2009, 15:34) *
Нет, тебе нужно выделить все кнопки, которые ты хочешь поместить в группу. Затем кликнуть правой кнопкой мышки и выбрать "Назначить новую группу кнопок"->"Новая группа кнопок". В коде уже использовать указатель на buttonGroup, создать слот в главном окне типа on_buttonGroup_buttonClicked(QAbstractButton * button).

А можно поподробнее о группе кнопок? Пожалуйста. Я не нашел в дизайнере такой штуки. Вот я выделил 5 QPushButton, а дальше что сделать? При нажатии на правую клавишу я вижу следующее меню:
Цитата
Change Text
Change objectName
Change toolTip
Change whatsThis
Change styleSheet

Promote to ...

Cut
Copy
Paste
Select All
Delete

Lay Out


Заранее спасибо за ответ....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 9.12.2009, 16:09
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Странно..а Qt какой версии?
Прикрепленное изображение
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 9.12.2009, 16:12
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Qt 4.3.2
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 9.12.2009, 16:16
Сообщение #6


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Юрий за спам нас перенес..:))
Странно, насколько я понял из асиста, эта возможность была уже с версии 4.1. Хотя бы вот по этому
Цитата
QAbstractButton * QButtonGroup::button ( int id ) const
Returns the button with the specified id, or 0 if no such button exists.

This function was introduced in Qt 4.1.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 9.12.2009, 16:18
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


AD, в Дизайнере 4.3.х нет такой возможности
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 9.12.2009, 16:21
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


То есть только самому через QButtonGroup?

Ассистент:
Цитата
The QButtonGroup class provides a container to organize groups of button widgets.
QButtonGroup provides an abstract container into which button widgets can be placed. It does not provide a visual representation of this container (see QGroupBox for a container widget), but instead manages the states of each of the buttons in the group.
An exclusive button group switches off all checkable (toggle) buttons except the one that was clicked. By default, a button group is exclusive. The buttons in a button group are usually checkable QPushButton's, QCheckBoxes (normally for non-exclusive button groups), or QRadioButtons. If you create an exclusive button group, you should ensure that one of the buttons in the group is initially checked; otherwise, the group will initially be in a state where no buttons are checked.
A button is added to the group with addButton(). It can be removed from the group with removeButton(). If the group is exclusive, the currently checked button is available as checkedButton(). If a button is clicked the buttonClicked() signal is emitted. For a checkable button in an exclusive group this means that the button was checked. The list of buttons in the group is returned by buttons().
In addition, QButtonGroup can map between integers and buttons. You can assign an integer id to a button with setId(), and retrieve it with id(). The id of the currently checked button is available with checkedId(), and there is an overloaded signal buttonClicked() which emits the id of the button. The purpose of the mapping mechanism is to simplify the representation of enum values in a user interface.



Сообщение отредактировал AD - 9.12.2009, 16:22
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 9.12.2009, 16:29
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Да, но тогда с методом void QButtonGroup::addButton ( QAbstractButton * button ) снова здравствуйте китайцы. Можно конечно через такой код сделать и в цикле их добавлять:

QList<QPushButton *> allPButtons = parentWidget.findChildren<QPushButton *>();


Только надо как-то будет котлеты от мух отделить. С другой стороны можно вообще динамически создать кнопки от A до Z. Опять же в цикле, 26 итераций.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.12.2024, 13:48