Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пробую начать с Qt (Creator) от троллей (Nokia)
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Программирование
MrYuran
Простейший хелловорд...
Нажмите для просмотра прикрепленного файла
Слайдер, кнопочки дискретного изменения и радио-батоны для изменения шага.
Нажмите для просмотра прикрепленного файла
На картинке видно, что сигнал valueChanged() слайдера заведён на слот display() лцд-дисплея, а сигналы clicked() кнопочек заведены на слоты addStep() и subtractStep() слайдера.
Делалось это чиставизуально, ни одной кнопочки на клаве не нажал.
Результат:
слайдер двигается, на дисплее цыфИрки бегут. При нажатии на кнопочки слайдер двигается дискретно по шагам. Соответственно, значения дисплея также меняются на единицу шага.
Вроде бы всё хорошо.
Ан нет.
Пытаюсь обнаружить в имеющихся исходных файлах хоть какое-то упоминание об объявленных сигналах и слотах - хрен.
Нигде ничего.
Тем более непонятно, как добавить свои слоты и обработчики.
Моск конечно уже атрофирован общением с разнообразными билдерами, но там я хоть представляю, где концы искать. А тут - вообще ничего не понятно. И ведь как-то всё работает...
######################################
Нашёл-таки...
retranslateUi(MainWindowClass);
QObject::connect(horizontalSlider, SIGNAL(valueChanged(int)), lcdNumber, SLOT(display(int)));
QObject::connect(pushButton, SIGNAL(clicked()), horizontalSlider, SLOT(addStep()));
QObject::connect(pushButton_2, SIGNAL(clicked()), horizontalSlider, SLOT(subtractStep()));
В ui_mainwindow.h

Вроде всё становится на места...

Создал ещё сигнал с кнопки "+" и "заземлил" на форме (классная визуализация biggrin.gif )
Добавился ещё один коннект:
QObject::connect(pushButton, SIGNAL(clicked()), MainWindowClass, SLOT(PlusButtonClick()));

Вот...

И что теперь с ним делать?
Где описывать и обрабатывать?

//-------------------------------------------------------------------------------------------
// Вопрос: (конкретный)
//-------------------------------------------------------------------------------------------
Как мне проще всего при выборе радиобатонов (1-10-100) менять свойство объекта
horizontalSlider->singleStep = 1; // 10, 100

Главное основной концепшен понять, дальше проще будет
Andrew2000
Цитата(MrYuran @ Mar 2 2009, 14:13) *
Главное основной концепшен понять, дальше проще будет

http://rapidshare.com/files/67543743/Qt4_book.rar - стр.38 про сигналы и слоты
(не лучшая книга, просто под руку попалась)

http://www.prog.org.ru/
Itch
А как насчет F.Manual aka Qt Assistant? Там все есть и очень подробно.
>>>Тем более непонятно, как добавить свои слоты и обработчики.
Если надо добавить свои сигналы/слоты, то надо пронаследоваться и описать их с указанием макро Q_OBJECT, public slots: и signals:.
Потом соединить их с помощью функции connect().
MrYuran
Чё-то в этом креаторе половины функций Qt Designer'a не хватает...
Но это мелочи .
Можно и ручьками прикрутить, нагляднее будет.
В общем, нравится мне это всё больше .

А правда, что я могу свою закрытую dll-ку прикрутить к программе на free Qt и мне за это ничего не будет?
Что-то я ничего такого в лицсоглашении не нашёл...
слаб в этих юридических тонкостях...

И вообще: как в России дело обстоит с GPL - обязательно выполнять?

Хотя, глупый в общем-то вопрос...
Если посчитать, одна лицензия на контору за 3000 евро это примерно столько же, как 3 лицензии на бильдер или VS... (по одной на рыло)
А пользы больше

Цитата(Andrew2000 @ Mar 3 2009, 03:03) *
http://rapidshare.com/files/67543743/Qt4_book.rar - стр.38 про сигналы и слоты
(не лучшая книга, просто под руку попалась)

За книгу спасибо, немного почитываю.
arttab
то ли баг, то ли фича
поставил дома на диск D готовую сборку под винду: path сам не прописался и ошибка при попытки получить exe (gss ищит на диске С).
на работе поставил на диск С (так у них сказано в доке по установке). path сам не прописался. завтра попробую получить exe.

написал чтоб кто то другой голову не ломал если не на диск С ставил
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.