|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.03.2013, 12:09 | #1 |
Пользователь
Регистрация: 05.03.2013
Сообщений: 13
|
Связывание (connect)
Здравствуйте!
Начал осваивать Qt. Читаю, пытаюсь разобраться в примерах из литературы. Сейчас написал программу, в которой есть два виджета: spinBox и gorizontalSlider. Хочу их связать, для чего в main пишу: QObject::connect(spinBox, SIGNAL(valueChanged(int)), horizontalSlider, SLOT(setValue(int))); но программа выдает ошибку, она в main не знает, что такое spinBox и horizontalSlider. Что надо еще "доопределить"? |
20.03.2013, 12:14 | #2 |
Пользователь
Регистрация: 05.03.2013
Сообщений: 13
|
Вот сейчас получилось их связать, но в файле ui_widget.h
Насколько я понимаю, это не совсем правильно |
20.03.2013, 12:19 | #3 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
Вы виджеты как создавали? Дизайнер обычно прячет все в ui
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
20.03.2013, 13:12 | #4 |
Пользователь
Регистрация: 05.03.2013
Сообщений: 13
|
Ну да, поэтому там и получается их связать. Создавал стандартно: файл/проект -> новый -> gui application. Мне сначала просто показалось, что там связывать как-то нехорошо, но теперь я понял, что это просто не вариант вовсе, т.к. при каждой перестройке проекта файл ui_widget.h переписывается заново и все вписанное затирает
Есть ли вариант заставить main "видеть" ui_widget.h? Или какое-то другое решение? Не удобно вручную прописывать все элементы, да и не видно их до запуска, что тоже не есть гуд (по крайней мере для меня). |
20.03.2013, 16:27 | #5 |
Пользователь
Регистрация: 25.12.2012
Сообщений: 29
|
Код:
|
20.03.2013, 19:54 | #6 |
Пользователь
Регистрация: 05.03.2013
Сообщений: 13
|
Может неправильно вас понял, но я же пишу, что это элементы, которые я добавляю на форму, соответственно они определяются в ui_widget.h (я использую widget, а не mainwindow). И соответственно, если я вписываю
Код:
При этом вверху я везде вставляю #include "ui_widget.h" |
21.03.2013, 02:47 | #7 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
А в widget.h класс есть? А в нем приватное поле ui есть? А "в нем" spinBox и прочее есть?..
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
21.03.2013, 09:28 | #8 |
Пользователь
Регистрация: 25.12.2012
Сообщений: 29
|
widget.cpp
Код:
|
21.03.2013, 14:17 | #9 |
Пользователь
Регистрация: 05.03.2013
Сообщений: 13
|
der_igel, спасибо большое!
Думаю, мне просто надо еще побольше почитать, но все-таки можно небольшое пояснение. Почему в ui_widget.h компилятор воспринимает такую форму записи: Код:
Код:
|
21.03.2013, 17:28 | #10 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
Прочитайте мой пост.
Потому что в ui_widget.h вы "находитесь внутри" того типа, поле которого есть в классе widget.cpp. Вы же знаете как обращаются к полям класса?
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Connect по timeout | Tahoma | Win Api | 8 | 26.07.2012 09:17 |
DC++(Direct Connect) | azaznio | Компоненты Delphi | 2 | 15.02.2011 15:49 |
перехват CONNECT | snakesoftware | Win Api | 9 | 05.05.2010 18:31 |
php connect | Neymexa | Помощь студентам | 1 | 25.03.2010 11:38 |
Вирус z-connect | Осипович | Свободное общение | 7 | 02.07.2009 21:20 |