Russian Qt Forum

Qt => Вопросы новичков => Тема начата: libertas от Март 25, 2014, 18:17



Название: определение стандартного конструктора класса наследуемого от QMainWindow
Отправлено: libertas от Март 25, 2014, 18:17
Всем привет! Подскажите, пожалуйста, не понимаю код при создании стандартного конструктора для класса, наследуемого от QMainWindow

Код:
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

Спасибо.



Название: Re: определение стандартного конструктора класса наследуемого от QMainWindow
Отправлено: libertas от Март 25, 2014, 18:31
Код:
ui->setupUi(this);

если я правильно понимаю, этот код устанавливает значение для Ui как ссылку на класс MainWindow. чтоб потом можно было обращаться к специфическим методам ui и полям класса, размещенным через дизайнер.

А что значит часть кода:

Код:
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
?


Название: Re: определение стандартного конструктора класса наследуемого от QMainWindow
Отправлено: Old от Март 25, 2014, 18:35
Этот вопрос из области конструкторов C++, а не Qt.
Лучше вначале изучить язык, а потом уже разбираться с библиотеками. Без знания языка, вы все равно далеко не уедите. :)


Название: Re: определение стандартного конструктора класса наследуемого от QMainWindow
Отправлено: libertas от Март 25, 2014, 18:48
Полностью согласен, поэтому и спросил.

Хотел ещё спросить про сигналы. У меня компилируется код как с модификатором доступа, так и без него:

Код:
signals:
    void needRedraw();

и

Код:
public: signals:
    void needRedraw();

Как правильно и нужны ли модификаторы доступа для сигналов?
Спасибо.


Название: Re: определение стандартного конструктора класса наследуемого от QMainWindow
Отправлено: Old от Март 25, 2014, 18:49
Не обязательно.
Насколько я помню, signals: принудительно делает protected:


Название: Re: определение стандартного конструктора класса наследуемого от QMainWindow
Отправлено: libertas от Март 25, 2014, 18:55
спасибо!


Название: Re: определение стандартного конструктора класса наследуемого от QMainWindow
Отправлено: Johnik от Март 25, 2014, 20:02
signals: принудительно делает protected:
в qt5 "signals" стало public


Название: Re: определение стандартного конструктора класса наследуемого от QMainWindow
Отправлено: Old от Март 25, 2014, 20:07
в qt5 "signals" стало public
Новые сигналы - новые тонкости. :)