Название: Неоднозначный уровень доступа "statusBar" Отправлено: ruzik от Февраль 14, 2011, 15:52 Здравствуйте, вот пытаюсь использовать компонент statusBar, а он мне выдает
Ошибка 1 error C2385: неоднозначный уровень доступа "statusBar" c:\Documents and Settings\rustam\Мои документы\Visual Studio 2008\Projects\MyBr\MyBr\mybr.cpp 36 Код таков statusBar->addWidget(StatusBarMainLabel); Пробовал писать и так this->statusBar->addWidget(StatusBarMainLabel);, то же самое Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: GreatSnake от Февраль 14, 2011, 16:10 Что такое StatusBarMainLabel?
Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: alexman от Февраль 14, 2011, 16:12 Наверное statusBar()->addWidget( ... ); ;)
Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: ruzik от Февраль 14, 2011, 16:46 StatusBarMainLabel-это объект типа QLabel
Цитировать statusBar()->addWidget( ... ) А почему ведь statusBar- это объект?Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: ruzik от Февраль 14, 2011, 16:48 Не помогло(
Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: GreatSnake от Февраль 14, 2011, 17:17 Ей богу как ребёнок... Уже 118 постов, а жить в форуме так и не научился. :(
Где код? Где ошибки компилятора? Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: ruzik от Февраль 14, 2011, 17:20 Вы посмотрите первый пост, там и ошибка компилятора, и код
Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: GreatSnake от Февраль 14, 2011, 17:24 Мде, он ещё и издевается :o
Что такое this, StatusBarMainLabel? Где код нам это показывающий? Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: pastor от Февраль 14, 2011, 17:26 Кода в первом посте нет. Там какой-то огрызок. Что такое statusBar?
Разве так трудно привести полный код? Ведь это тебе нужно! Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: ruzik от Февраль 14, 2011, 17:35 statusBar это объект типа QStatusBar, он у меня в дизайнере создается вместе с главным окном,
этот "огрызок" единственное использование этого объекта в проекте Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: GreatSnake от Февраль 14, 2011, 17:38 Мде, горбатого могила исправит...
Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: ruzik от Февраль 14, 2011, 17:48 В объявлении
QLabel * StatusBarMainLabel; В конструкторе StatusBarMainLabel = new QLabel; StatusBarMainLabel->setText("dfgfdg"); statusBar->addWidget(StatusBarMainLabel); Выскакивает следующая ошибка Ошибка 1 error C2385: неоднозначный уровень доступа "statusBar" c:\Documents and Settings\rustam\Мои документы\Visual Studio 2008\Projects\MyBr\MyBr\mybr.cpp 36 В аттаче картинка из дизайнера, что бы стало более понятно Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: GreatSnake от Февраль 14, 2011, 17:54 добавь инклюд
#include <QStatusBar> и вызывай statusBar()->addWidget(StatusBarMainLabel); Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: ruzik от Февраль 14, 2011, 17:57 Не помогло, ошибка та жа
Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: pastor от Февраль 14, 2011, 18:01 Покажи объявление класса глвного окна (полностью).
Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: alexman от Февраль 14, 2011, 18:09 ruzik, один сплошной флуд.
Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: ruzik от Февраль 14, 2011, 18:10 Код: #ifndef MYBR_H Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: pastor от Февраль 14, 2011, 18:19 Покажи еще конструктор MyBr.
Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: ruzik от Февраль 14, 2011, 18:22 Он не очень маленький)
Код: MyBr::MyBr(QWidget *parent, Qt::WFlags flags) Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: GreatSnake от Февраль 14, 2011, 19:40 поменяй
class MyBr : public QMainWindow, public Ui::MyBrClass на class MyBr : public Ui::MyBrClass хотя наверняка завалится на другом, т.к. очень всё наворочено из-за отсутствия элементарных знаний( Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: Kolobok от Февраль 14, 2011, 20:53 QMainWindow и Ui оба имеют метод statusBar(). Поэтому неоднозначность. Напиши так
QMainWindow::statusBar()->addWidget(...) Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: GreatSnake от Февраль 14, 2011, 21:36 Цитировать QMainWindow и Ui оба имеют метод statusBar(). Поэтому неоднозначность. Напиши так Не нужно советовать то, в чём не разбираетесь. :)QMainWindow::statusBar()->addWidget(...) В Qt непозволительно делать множественное наследование от нескольких QObject. Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: Kolobok от Февраль 14, 2011, 21:47 Цитировать QMainWindow и Ui оба имеют метод statusBar(). Поэтому неоднозначность. Напиши так Не нужно советовать то, в чём не разбираетесь. :)QMainWindow::statusBar()->addWidget(...) В Qt непозволительно делать множественное наследование от нескольких QObject. С каких пор Ui стал наследником QObject?! Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: Fat-Zer от Февраль 14, 2011, 21:48 Цитировать QMainWindow и Ui оба имеют метод statusBar(). Поэтому неоднозначность. Напиши так Не нужно советовать то, в чём не разбираетесь. :)QMainWindow::statusBar()->addWidget(...) В Qt непозволительно делать множественное наследование от нескольких QObject. Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: GreatSnake от Февраль 14, 2011, 21:52 Цитировать С каких пор Ui стал наследником QObject?! Не Ui, а Ui::MyBrClass. А судя по коду приведённому выше сей класс является производным от QMainWindow, который является производным от QObject.Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: Kolobok от Февраль 14, 2011, 23:01 Цитировать С каких пор Ui стал наследником QObject?! Не Ui, а Ui::MyBrClass. А судя по коду приведённому выше сей класс является производным от QMainWindow, который является производным от QObject.Не является. Чем рассуждать, лучше попробуй создать такую форму и вызови ее метод statusBar. Единственное, в чем я ошибся - в Ui это не метод, а открытый член класса. Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: pastor от Февраль 15, 2011, 00:59 Ui::MyBrClass не является наследником QMainWindow. Читаем про The Multiple Inheritance Approach в ассистанте.
имхо тут имеет место конфликт имен: statusBar() из QMainWindow и statusBar переменная из Ui::MyBrClass. Переименуй statusBar в что нить другое. Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: GreatSnake от Февраль 15, 2011, 08:06 Упс, сорри, слона то я и не приметил.
Видать вчера уже поздно было, чтобы лезть в форум) Название: Re: Неоднозначный уровень доступа "statusBar" Отправлено: ruzik от Февраль 15, 2011, 14:16 Ui::MyBrClass не является наследником QMainWindow. Читаем про The Multiple Inheritance Approach в ассистанте. Спасибо, помоглоимхо тут имеет место конфликт имен: statusBar() из QMainWindow и statusBar переменная из Ui::MyBrClass. Переименуй statusBar в что нить другое. |