![]() |
|
![]() ![]() ![]() |
|
Vaz007 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 13.5.2009 Где: Москва Репутация: нет Всего: нет |
Я создаю игру балда, только начал пользоваться QT. Создал QT4 GUI Application. Создал поле 5х5 из pushbuttons, и создал 33 кнопки((pushbuttons) 33 буквы начиная с А заканчивая Я). Я не могу понять как надо сделать , чтобы при нажатии например на первую кнопку из 33 кнопок (буква А), потом выбрать из поля любую кнопку, чтобы на ней отобразилась буква.Подскажите пожалуйста.
|
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
если и те и другие pushbuttons то хз... они ведь теряют фокус, а надо сохранить состояние нажатости...
я б сделал буквы радио-батонами... их можно даже записать в массив arraylist какой-нибудь. а при нажатии на одну из 25 пуш-батонов поля - проверять в цикле, какая буква checked и подсовывать ее. можно напрячься и сделать массив 25 динамических пуш-батонов и сунуть вышеописанную проверку в их общее событие clicked и ориентироваться по индексу... по крайней мере в бейсике и дельфи это прокатывает ![]() ![]() тогда код станет в 25 раз короче))) ЗЫ но если ты только начинаешь программировать, то для начала сделай 25 проверок clicked)) Это сообщение отредактировал(а) CompWorm - 13.5.2009, 20:55 |
|||
|
||||
SABROG |
|
||||||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Я бы вообще сам рисовал через paintEvent, это сложнее, но правильнее, игра будет выглядеть одинаково
на всех платформах, независимо от стилей.
У кнопки есть состояния и ими можно управлять: void setCheckable ( bool ) void setChecked ( bool )
Кнопки можно сгруппировать через QButtonGroup и присоединить всего один слот к buttonClicked, нажатие на любую кнопку будет генерить сигнал, который передаст указатель на кнопку или id (как выберешь). Альтернатива QSignalMapper.
Тут 2 варианта: QAbstractButton * QButtonGroup::checkedButton () const или в слоте на нажатие кнопки устанавливать некий глобальный указатель типа QPushButton *lastClicked. Вот нашел онлайн-балду. http://www.naturalist.ru/Balda/balda.html |
||||||||
|
|||||||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
||||
|
||||
Vaz007 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 13.5.2009 Где: Москва Репутация: нет Всего: нет |
А как сделать ,чтобы можно было выводить русские буквы в поле??
|
|||
|
||||
CompWorm |
|
||||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
я делаю так:
и потом так:
|
||||
|
|||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
А почему не юзать (ну.. как-то граммотней с точки зрения общепринятых стандартов) в коде инглиш, а транслейтить стандартными средствами?! Qt же к этом прям подталкивает!
![]() |
|||
|
||||
Vaz007 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 13.5.2009 Где: Москва Репутация: нет Всего: нет |
Сделал кнопку новая игра,и хочу чтобы при нажатии на нее, все что я писал в поле стиралось и чистое поле было , для того чтобы опять вводить. как это сделать, подскажите пожалуйста???
|
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Vaz007, создавай новую тему для нового вопроса!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |