Несколько слотов на 1 кнопке |
Здравствуйте, гость ( Вход | Регистрация )
Несколько слотов на 1 кнопке |
AD |
22.5.2009, 15:24
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Помогите, пожалуйста, разобраться в следующей ситуации.
Есть кнопка открытия COM-порта. После того, как COM-порт открыт, название кнопки изменяется с "Open" на "Close"! Ну и соответственно при следующем нажатии надо попадать в слот закрытия порта. Как это сделать корректно? Вот маленький кусок кода:
|
|
|
igor_bogomolov |
22.5.2009, 15:44
Сообщение
#2
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Можно что-то вроде этого сделать.
Можно сделать кнопку со свойством setCheckable(true). Ловить сигнал Цитата void QAbstractButton::toggled ( bool checked ) [signal] , и в зависимости от состояния checked, вызывать нужный метод.
|
|
|
AD |
22.5.2009, 16:14
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Спасибо. Нашел еще один вариант.
Код переделан следующим образом:
|
|
|
igor_bogomolov |
22.5.2009, 16:16
Сообщение
#4
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
AD, зачем этот постоянный коннект/дисконнект??? ИМХО, не очень хорошо!!!
|
|
|
AD |
22.5.2009, 16:37
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Цитата(igor_bogomolov) ИМХО, не очень хорошо!!! Почему? Чем disconnect плох? |
|
|
igor_bogomolov |
22.5.2009, 16:58
Сообщение
#6
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
|
|
|
AD |
22.5.2009, 17:04
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Начитавшись книги "Паттерны проектирования" Влиссидеса, Гамма, Хелма, Джонсона, сделал класс COMPort одиночкой!
igor_bogomolov, ну не знаю. А мне нравится. Еще подумаю, может и переделаю. Но так, как-то универсальнее, что-ли, а то, эти if-else достали. |
|
|
Litkevich Yuriy |
22.5.2009, 20:31
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
AD, я с Игорем согласен. Переподключение сиганалов плохая затея.
|
|
|
Текстовая версия | Сейчас: 19.12.2024, 12:47 |