![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 05.03.2013
Сообщений: 13
|
![]()
Здравствуйте!
Начал осваивать Qt. Читаю, пытаюсь разобраться в примерах из литературы. Сейчас написал программу, в которой есть два виджета: spinBox и gorizontalSlider. Хочу их связать, для чего в main пишу: QObject::connect(spinBox, SIGNAL(valueChanged(int)), horizontalSlider, SLOT(setValue(int))); но программа выдает ошибку, она в main не знает, что такое spinBox и horizontalSlider. Что надо еще "доопределить"? |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 05.03.2013
Сообщений: 13
|
![]()
Вот сейчас получилось их связать, но в файле ui_widget.h
Насколько я понимаю, это не совсем правильно |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
![]()
Вы виджеты как создавали? Дизайнер обычно прячет все в ui
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 05.03.2013
Сообщений: 13
|
![]()
Ну да, поэтому там и получается их связать. Создавал стандартно: файл/проект -> новый -> gui application. Мне сначала просто показалось, что там связывать как-то нехорошо, но теперь я понял, что это просто не вариант вовсе, т.к. при каждой перестройке проекта файл ui_widget.h переписывается заново и все вписанное затирает
![]() Есть ли вариант заставить main "видеть" ui_widget.h? Или какое-то другое решение? Не удобно вручную прописывать все элементы, да и не видно их до запуска, что тоже не есть гуд (по крайней мере для меня). |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 25.12.2012
Сообщений: 29
|
![]() Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 05.03.2013
Сообщений: 13
|
![]()
Может неправильно вас понял, но я же пишу, что это элементы, которые я добавляю на форму, соответственно они определяются в ui_widget.h (я использую widget, а не mainwindow). И соответственно, если я вписываю
Код:
При этом вверху я везде вставляю #include "ui_widget.h" |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
![]()
А в widget.h класс есть? А в нем приватное поле ui есть? А "в нем" spinBox и прочее есть?..
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 25.12.2012
Сообщений: 29
|
![]()
widget.cpp
Код:
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 05.03.2013
Сообщений: 13
|
![]()
der_igel, спасибо большое!
Думаю, мне просто надо еще побольше почитать, но все-таки можно небольшое пояснение. Почему в ui_widget.h компилятор воспринимает такую форму записи: Код:
Код:
|
![]() |
![]() |
![]() |
#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 |