Общие вопросы по программированию на qt |
Здравствуйте, гость ( Вход | Регистрация )
Общие вопросы по программированию на qt |
Dima2387 |
31.1.2013, 17:53
Сообщение
#1
|
Студент Группа: Участник Сообщений: 19 Регистрация: 31.1.2013 Пользователь №: 3696 Спасибо сказали: 0 раз(а) Репутация: 0 |
Читаю книгу Бланшета и к сожалению она для меня малопонятная, или выражаясь более лаконично некоторые части примеров считаю недостаточно описанными для понимания с нуля. Конкретно в данный момент интересует такой вопрос:
в книге есть пример создания программы с кнопкой выхода #include <QApplication> #include <QPushButton> int main (int argc, char *argv[]) { QApplication app(argc, argv); QPushButton *button = new QPushButton("Quit"); QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit())); button -> show(); return app.exec(); } Может ли кто-то подробно описать значение строк QPushButton *button = new QPushButton("Quit"); QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit())); Как их вижу я: первая строка QPushButton *button - вызов (класса?) QPushButton *button - создание элемента кнопка new QPushButton("Quit"); - название нового элемента типа button c названием - new QPushButton и свойством "Quit" это свойство в данном случае это его лейбл по второй строке даже наверное не могу дать описания. Если кто подробно распишет, буду очень благодарен спасибо что не лень ответить. |
|
|
ilyabvt |
31.1.2013, 18:31
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3 |
Цитата первая строка QPushButton *button - вызов (класса?) QPushButton *button - создание элемента кнопка new QPushButton("Quit"); - название нового элемента типа button c названием - new QPushButton и свойством "Quit" это свойство в данном случае это его лейбл Нет. создание переменной указателя на тип QPushButton по имени button. Выделение памяти и конструирование одного объекта QPushButton. Оператор new возвращает указатель на ново созданную кнопку.
Создаем указатель, создаем кнопку, записываем адрес кнопки в указатель.
Соединение сигнала кнопки clicked (сигнал испускается когда кнопка нажимается), со слотом приложения quit (выход из приложения). Подробнее о сигналах и слотах: http://qt-project.org/doc/qt-4.8/signalsandslots.html. |
|
|
Dima2387 |
31.1.2013, 18:45
Сообщение
#3
|
Студент Группа: Участник Сообщений: 19 Регистрация: 31.1.2013 Пользователь №: 3696 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо за потраченное время. Еще один вопрос сигналы предопределены их есть какой-то список или сигналы можно каким-то образом создавать самому тоесть есть "clicked" это означает щелчок левой кнопкой мыши, а возможно ли сделать свой сигнал например google и если с клавиатуры прийдет нажатие кнопки F12 то откроется браузер с открытым гуглом.
|
|
|
Dima2387 |
31.1.2013, 19:36
Сообщение
#4
|
Студент Группа: Участник Сообщений: 19 Регистрация: 31.1.2013 Пользователь №: 3696 Спасибо сказали: 0 раз(а) Репутация: 0 |
Возможно ли программирование на qt без знаний с++ если да то какую посоветуете книгу? или необходимо учить снача си потом куте. Спасибо
|
|
|
Iron Bug |
31.1.2013, 20:06
Сообщение
#5
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
Qt - не язык программирования. это всего лишь библиотека, написанная на С++.
программирование на С++ тут подразумевается, как безусловный навык. есть реализация для питона. возможно, для каких-то ещё языков. но основа Qt - С++. |
|
|
ilyabvt |
31.1.2013, 20:27
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3 |
Цитата Еще один вопрос сигналы предопределены их есть какой-то список или сигналы можно каким-то образом создавать самому Можно самому создавать. Цитата а возможно ли сделать свой сигнал например google и если с клавиатуры прийзойдет нажатие кнопки F12 то откроется браузер с открытым гуглом Можно создать сигнал google который будет испускаться если нажать F12. Однако происходящее при этом действие определяется не сигналом а присоединенным к нему слотом (по сути обычной функцией). Можно создать слот который будет открывать браузер. И соединить сигнал со слотом. |
|
|
Litkevich Yuriy |
1.2.2013, 1:10
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Может ли кто-то подробно описать значение строк Читай учебное пособие из документации.Вот из старой версии, но актуальное и на мой взгляд зря было убрано из современной версии. Пройди его от начала и до конца, потом можешь посмотреть учебное пособие из версии 4.7 есть "clicked" это означает щелчок левой кнопкой мыши категорически нет!Этот сигнал посылает сама кнопка, сообщая что по ней щёлкнули. Какой кнопкой мыши по неё щёлкнули, в общем случае, не определено, т.е. зависит от алгоритма обработки событий самого виджета-кнопки |
|
|
Dima2387 |
2.2.2013, 0:57
Сообщение
#8
|
Студент Группа: Участник Сообщений: 19 Регистрация: 31.1.2013 Пользователь №: 3696 Спасибо сказали: 0 раз(а) Репутация: 0 |
Iron Bug, ilyabvt, Litkevich Yuriy спасибо вам. Общее понятие дали, буду читать литературу по си++, и уроки которые предоставил Юрий.
|
|
|
Текстовая версия | Сейчас: 25.4.2024, 11:34 |