Russian Qt Forum
Апрель 20, 2024, 07:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Неоднозначный уровень доступа "statusBar"  (Прочитано 17258 раз)
alexman
Гость
« Ответ #15 : Февраль 14, 2011, 18:09 »

ruzik, один сплошной флуд.
Записан
ruzik
Гость
« Ответ #16 : Февраль 14, 2011, 18:10 »

Код:
#ifndef MYBR_H
#define MYBR_H

#include <QtGui/QMainWindow>
#include "ui_mybr.h"
#include "QLineEdit"
#include "QPushButton"
#include "QProgressBar"
#include "QLabel.h"
#include <QStatusBar>
#include "RizekFoundationClasses/RizekLineEdit/RizekLineEdit.h"

class MyBr : public QMainWindow, public Ui::MyBrClass
{
Q_OBJECT

public:
MyBr(QWidget *parent = 0, Qt::WFlags flags = 0);
~MyBr();
public slots:
void load();
void setTitle(bool);
signals:
void FormResize();
protected:
void resizeEvent( QResizeEvent* );
public:
RizekLineEdit * Address;
QPushButton * PrevButton;
QPushButton * Refresh;
QPushButton * NextButton;
QPushButton * Go;
QPushButton * StopButton;
QLabel * StatusBarMainLabel;
QProgressBar * Progress;
QPixmap * BackMainToolBarImage;
};

#endif // MYBR_H
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #17 : Февраль 14, 2011, 18:19 »

Покажи еще конструктор MyBr.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
ruzik
Гость
« Ответ #18 : Февраль 14, 2011, 18:22 »

Он не очень маленький)
Код:
MyBr::MyBr(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
setupUi(this);
this->setWindowTitle("Web-Rizek 2.0");
PrevButton = new QPushButton;
PrevButton->setText("<-");
PrevButton->setFixedWidth(30);
PrevButton->setToolTip(tr("Go back"));
Refresh = new QPushButton;
Refresh->setText("(%)");
Refresh->setFixedWidth(30);
Refresh->setToolTip(tr("Refresh"));
NextButton = new QPushButton;
NextButton->setText("->");
NextButton->setFixedWidth(30);
NextButton->setToolTip(tr("Go next"));
Address = new RizekLineEdit;
Address->setFixedWidth(400);
Address->setToolTip(tr("Adress of your site"));
Go = new QPushButton;
Go->setText(tr("Go!"));
Go->setFixedWidth(35);
Go->setToolTip(tr("Go"));
StopButton = new QPushButton;
StopButton->setText("X");
StopButton->setFixedWidth(30);
StopButton->setToolTip(tr("Stop"));
StatusBarMainLabel = new QLabel;
StatusBarMainLabel->setText("dfgfdg");
statusBar()->addWidget(StatusBarMainLabel);
Progress= new QProgressBar;
Progress->setValue(0);
Progress->setTextVisible(false);
this->setStyleSheet("QToolBar {background-image: url(:/picture/maintoolbar.png) ;}");
this->setStyleSheet("QProgressBar { border: 2px solid grey; border-radius: 5px;  background-color: #05B8CC; width: 20px;}"
"QProgressBar::chunk { background-color: #CD96CD; width: 10px; margin: 0.5px;}");
//*******************
mainToolBar->addWidget(PrevButton);
mainToolBar->addWidget(Refresh);
mainToolBar->addWidget(NextButton);
mainToolBar->addWidget(StopButton);
mainToolBar->addWidget(Address);
mainToolBar->addWidget(Go);
mainToolBar->addWidget(Progress);
//*******************
//==========================
connect(PrevButton, SIGNAL(clicked()), webView , SLOT(back()));
connect(NextButton, SIGNAL( clicked()), webView , SLOT(forward()));
connect(Refresh , SIGNAL(clicked()), webView, SLOT(Refresh()));
connect(StopButton, SIGNAL(clicked()), webView, SLOT(stop()));
connect(Go , SIGNAL(clicked()), this , SLOT(load()));
connect(webView, SIGNAL(loadProgress(int)), Progress , SLOT(setValue(int)));
connect(webView , SIGNAL(loadFinished(bool)), this, SLOT(setTitle(bool)));
//==========================

}
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #19 : Февраль 14, 2011, 19:40 »

поменяй
class MyBr : public QMainWindow, public Ui::MyBrClass
на
class MyBr : public Ui::MyBrClass

хотя наверняка завалится на другом, т.к. очень всё наворочено из-за отсутствия элементарных знаний(
Записан

Qt 5.11/4.8.7 (X11/Win)
Kolobok
Гость
« Ответ #20 : Февраль 14, 2011, 20:53 »

QMainWindow и Ui оба имеют метод statusBar(). Поэтому неоднозначность. Напиши так
QMainWindow::statusBar()->addWidget(...)
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #21 : Февраль 14, 2011, 21:36 »

Цитировать
QMainWindow и Ui оба имеют метод statusBar(). Поэтому неоднозначность. Напиши так
QMainWindow::statusBar()->addWidget(...)
Не нужно советовать то, в чём не разбираетесь.  Улыбающийся
В Qt непозволительно делать множественное наследование от нескольких QObject.
« Последнее редактирование: Февраль 14, 2011, 21:38 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
Kolobok
Гость
« Ответ #22 : Февраль 14, 2011, 21:47 »

Цитировать
QMainWindow и Ui оба имеют метод statusBar(). Поэтому неоднозначность. Напиши так
QMainWindow::statusBar()->addWidget(...)
Не нужно советовать то, в чём не разбираетесь.  Улыбающийся
В Qt непозволительно делать множественное наследование от нескольких QObject.

С каких пор Ui стал наследником QObject?!
Записан
Fat-Zer
Гость
« Ответ #23 : Февраль 14, 2011, 21:48 »

Цитировать
QMainWindow и Ui оба имеют метод statusBar(). Поэтому неоднозначность. Напиши так
QMainWindow::statusBar()->addWidget(...)
Не нужно советовать то, в чём не разбираетесь.  Улыбающийся
В Qt непозволительно делать множественное наследование от нескольких QObject.
Ui::MyBrClass - не должен быть наследника QObject'а, если ТС какое-нить тёмное дело не задумал...
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #24 : Февраль 14, 2011, 21:52 »

Цитировать
С каких пор Ui стал наследником QObject?!
Не Ui, а Ui::MyBrClass. А судя по коду приведённому выше сей класс является производным от QMainWindow, который является производным от QObject.
Записан

Qt 5.11/4.8.7 (X11/Win)
Kolobok
Гость
« Ответ #25 : Февраль 14, 2011, 23:01 »

Цитировать
С каких пор Ui стал наследником QObject?!
Не Ui, а Ui::MyBrClass. А судя по коду приведённому выше сей класс является производным от QMainWindow, который является производным от QObject.

Не является. Чем рассуждать, лучше попробуй создать такую форму и вызови ее метод statusBar. Единственное, в чем я ошибся - в Ui это не метод, а открытый член класса.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #26 : Февраль 15, 2011, 00:59 »

Ui::MyBrClass не является наследником QMainWindow. Читаем про The Multiple Inheritance Approach в ассистанте.

имхо тут имеет место конфликт имен: statusBar() из QMainWindow и statusBar переменная из Ui::MyBrClass. Переименуй statusBar в что нить другое.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #27 : Февраль 15, 2011, 08:06 »

Упс, сорри, слона то я и не приметил.
Видать вчера уже поздно было, чтобы лезть в форум)
Записан

Qt 5.11/4.8.7 (X11/Win)
ruzik
Гость
« Ответ #28 : Февраль 15, 2011, 14:16 »

Ui::MyBrClass не является наследником QMainWindow. Читаем про The Multiple Inheritance Approach в ассистанте.

имхо тут имеет место конфликт имен: statusBar() из QMainWindow и statusBar переменная из Ui::MyBrClass. Переименуй statusBar в что нить другое.
Спасибо, помогло
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 22.