|
Модераторы: Daevaorn |
|
Hayate |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 26.3.2008 Репутация: нет Всего: нет |
В целях самообучения решил сделать калькулятор.
Код, помимо GUI:
Как сделать, чтобы set_digit(self, digit) получала параметр digit? Чтобы было 10 кнопок, 10 сигналов, 10 цифр. |
|||
|
||||
Hayate |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 26.3.2008 Репутация: нет Всего: нет |
Вот такая загогулина, если в виде кода (Python 3.2):
http://narod.ru/disk/24083182001/calc.zip.html Вот так вот передавать экмземпляру Display объекта DisplayLCD параметр parametr нельзя, а как можно? QtCore.QObject.connect(ui.Button_1, QtCore.SIGNAL('clicked()'), Display.set_digit(parametr)) |
|||
|
||||
Amp |
|
|||
Опытный Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 2 Всего: 17 |
Используй QSignalMapper.
|
|||
|
||||
Filin86 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 28.5.2012 Репутация: нет Всего: нет |
Сигнал clicked не имеет параметров, а слот требует параметра.
|
||||
|
|||||
vrny |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 5.8.2010 Репутация: нет Всего: нет |
Лямбдами. Можно в цикле создавать объект кнопки, лепить его в какой-нибудь лайоут и одновременно делать connect примерно такого вида:
QtCore.QObject.connect(ui.Button_1, QtCore.SIGNAL('clicked()'), lambda: Display.set_digit(i) ) где i - индекс цикла от 0 до 9 ui в дизайнере сделан? Тогда придётся написать 10 таких строчек . Хорошо, что кнопок не 1000 Это сообщение отредактировал(а) vrny - 5.6.2012, 10:34 |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Python: Разработка GUI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |