LINUX.ORG.RU

Напишите программку!


0

0

ПРивет! Изучаю Qt. Это вторая программа после хеллоу ворлда. Напишите, пожалуйста программку следуещего содержания...

Создаем форму в десигнере: пушбаттон и текстлайн.

Затем при нажатии на пушбатто должен вылетатть мессагебокс с содержимым текстлайна.

Реализовано должно быть всё с заголовочными файлами и т.д

Я не врублюсь как в классе, в котором слот принимающий сигнал clicked() от пушбаттона получить доступ к текстлайну, который на форме!!!!

Передавать указатель на Ui, который прорисовал всю форму???

Реализуйте, пожалуйста. Не у кого мне учиться... В книжках всё слишком сухо. Я вообще не совсем понимаю как ПРАВИЛЬНО работать с элементами формы, если они в дизайнере сделаны.

anonymous

C++ сначала поучи, рано тебе ещё в Qt суваться.

anonymous
()

Пройди внимательно туториал, который есть в официальных доках. Там всё это есть. Пример использования дизайнера тоже есть. В твой класс просто вставишь этот Ui_, и к его полям будешь ходить.

adarovsky ★★★★
()
Ответ на: комментарий от adarovsky

надо связать сигнал нажатия на кнопку и слот который его обрабаотывает,
или проще :-)
создаешь файл проекта .pro
создаешь форму .ui
сохраняешь
создаешь main.cpp
два раза кликаешь на форму в дизайнере создается файл .ui.h
в нем создаешь слот имя_формы::myslot()
в нем пишешь lineEdit1->setText("hello world!!!");
на форму помещаешь компоненты lineedit and pushButton
нажимаешь на форме правой кнопкой мыши выбираешь connections
там добавляешь в поле sender кнопку в событие нажатие и слот обработчик myslot
вот вроде и все
а да qmake на основе .pro создает Makefile
make программа готова

и вперед за книжки :-)

rh9
()
Ответ на: комментарий от rh9

> два раза кликаешь на форму в дизайнере создается файл .ui.h

Ну насоветовал :) А если у человера 4-ка? Там все это ручками делается.

ser_bur ★★
()
Ответ на: комментарий от ser_bur

правильное замечание :-) файл hello.cpp #include <qapplication.h> #include <qlabel.h> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLabel("Hello Qt!", 0); app.setMainWidget(label); label->show(); return app.exec(); } файл hello.pro SOURCES = hello.cpp qmake make

rh9
()
Ответ на: комментарий от rh9

файл hello.pro
SOURCES = hello.cpp

файл hello.cpp
#include <qapplication.h>
#include <qlabel.h>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!", 0);
app.setMainWidget(label);
label->show();
return app.exec();
}

rh9
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.