![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
gordmiand |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
В хидере переношу Ui::MainWindow *ui; из private в public, но все равно надо указывать
ui->lineEdit->… почему? |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Потому что дело не в прайват/паблик. Просто lineEdit vожно было писать только для глобальных переменных, полей класса (в том числе наследованных, если это паблик/протектед), параметров функции и локальных переменных функции. И всё.
Это сообщение отредактировал(а) Любитель - 15.2.2010, 18:10 |
|||
|
||||
gordmiand |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
это не только с lineEdit такая петрушка получается... и для label тоже... получается для все компонентов ui-> указывать надо?
Добавлено через 10 минут и 53 секунды это не только с lineEdit такая петрушка получается... и для label тоже... получается для все компонентов надо железно указывать ui-> ? |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
gordmiand, сделай наследование от Ui::MainWindow - после этого не нужно будет писать ui->...
|
|||
|
||||
gordmiand |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
mainwindow.h
main.cpp
такие вот ошибки... что не так? совсем я заблудился в этих классах |
||||
|
|||||
gordmiand |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
mainwindow.h
main.cpp
такие вот ошибки... что не так? совсем я заблудился в этих классах и вообще - при создании проекта какой базовый класс надо выбирать: Qmainwindow, QWidget, Qdialog... в чем их отличие? |
||||
|
|||||
gordmiand |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
mainwindow.h
main.cpp
такие вот ошибки... что не так? совсем я заблудился в этих классах и вообще - при создании проекта какой базовый класс надо выбирать: Qmainwindow, QWidget, Qdialog... в чем их отличие? |
||||
|
|||||
kuvshinka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
bsa: у меня что-то тоже не получается: что за класс MyWidget? базовый (который указываестя при создании приложения)? у меня базовый - MainWindow.... а какой надо указывать?
пробую так:
ошибки invalid use of incomplete type 'struct Ui::MainWindow', forward declaration of 'struct Ui::MainWindow' |
|||
|
||||
zayacnk |
|
||||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.2.2010 Репутация: нет Всего: нет |
Попробуй по пунктам:
1. Создаешь форму например с кнопкой pbSet и строкой lText и сохраняешь форму в MainWindow.ui ObjectName у формы MainWindow 2. Создаешь хедер mainwindow.h следующго содержания:
3. Исходник mainwindow.cpp следующего содержания
За опечатки сорри. Собственно ui указывать перед именами объектов формы указывать не надо |
||||
|
|||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Только форвард-декларейшен при наследовании не применим. Компилятор должен знать сразу, сколько памяти классу нужно и т. д. Форвард декларейшен примением только для указателя/ссылки, но не для базового класса. |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
kuvshinka, в твоем варианте используется идиома PIMPL. Т.е. Ui подключается в cpp файле. В этом случае без ui-> не обойтись. Я имел в виду то, что привел в пример zayacnk
|
|||
|
||||
kuvshinka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
а хедер и исходник создавать полностью руками или можно их скомпилить при разработке формы в qt designer?
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
kuvshinka, если не ошибаюсь, дизайнер работает только с ui файлами. Поэтому h/cpp нужно создавать вручную.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |