Название: Получить доступ к элементам класса формы Qt Designer Отправлено: karpenko1989 от Март 06, 2012, 13:41 Здравствуйте, создал класс формы Qt Designer. Разметил на нем несколько графических элементов.
файл SelectParamsForm.h Код: #ifndef SELECTPARAMSFORM_H Имеется также класс TreeOfParams, в котором я создаю объект класса формы Qt Designer. Код: ParamsForm = new SelectParamsForm; В этом классе работают методы show() и hide(), но при пыпытке написать что-то типо этого: Код: ParamsForm->label->setText(""); Как это исправить? Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: mutineer от Март 06, 2012, 13:42 Все виджеты формы доступны через указатель Ui::SelectParamsForm *ui;
Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: kambala от Март 06, 2012, 13:48 надо читать книжки или ассистент
Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: karpenko1989 от Март 06, 2012, 14:03 Добавил в заголовочный файл TreeOfParametrs
Код: Ui::SelectParamsForm *ui; Пишу в конструкторе это класса: Код: TreeOfParametrs::TreeOfParametrs(QSqlDatabase db): ui(new Ui::SelectParamsForm) Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: mutineer от Март 06, 2012, 14:06 Добавил в заголовочный файл TreeOfParametrs Код: Ui::SelectParamsForm *ui; Пишу в конструкторе это класса: Код: TreeOfParametrs::TreeOfParametrs(QSqlDatabase db): ui(new Ui::SelectParamsForm) И в чем тайный смысл сего действа? данный указатель уже есть в SelectParamForms Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: karpenko1989 от Март 06, 2012, 15:11 Прошу прощения, исправил, в конструкторе осталось
TreeOfParametrs::TreeOfParametrs(QSqlDatabase db) { ui->setupUi(this); ui->label->setText("dfgs"); } ui и label подсвечены коричневым цветом(т.е он их видит) но при запуске все-равно вылетает с ошибкой. Название: Re: Получить доступ к элементам класса формы Отправлено: mutineer от Март 06, 2012, 15:16 ui есть у класса SelectParamsForm
у класса TreeOfParametrs ui нету и не надо его туда добавлять Название: Re: Получить доступ к элементам класса формы Отправлено: karpenko1989 от Март 06, 2012, 15:53 ui есть у класса SelectParamsForm Т.е из класса TreeOfParametrs я немогу получить доступ к к элементам формы класса SelectParamsForm?у класса TreeOfParametrs ui нету и не надо его туда добавлять Название: Re: Получить доступ к элементам класса формы Отправлено: mutineer от Март 06, 2012, 15:54 ui есть у класса SelectParamsForm Т.е из класса TreeOfParametrs я немогу получить доступ к к элементам формы класса SelectParamsForm?у класса TreeOfParametrs ui нету и не надо его туда добавлять Прям совсем напрямую не можешь. Но можешь сделать метод в SelectParamsForm, который будет возвращать ui, и тогда сможешь доступаться Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: Пантер от Март 06, 2012, 15:55 В SelectParamsForm заводишь геттеры/сеттеры, которые дергаешь, а он уже сам выставляет нужные значения у своих виджетов. Правда, не думаю, что мой ответ тебе будет понятен. :(
Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: karpenko1989 от Март 07, 2012, 07:23 Спасибо за ответы.
Название: Re: Получить доступ к элементам класса формы Отправлено: karpenko1989 от Март 11, 2012, 07:46 ui есть у класса SelectParamsForm Т.е из класса TreeOfParametrs я немогу получить доступ к к элементам формы класса SelectParamsForm?у класса TreeOfParametrs ui нету и не надо его туда добавлять Прям совсем напрямую не можешь. Но можешь сделать метод в SelectParamsForm, который будет возвращать ui, и тогда сможешь доступаться А какой тип значения должен быть у данного метода? Делаю так: Код: namespace Ui { Название: Re: Получить доступ к элементам класса формы Отправлено: Kurles от Март 11, 2012, 07:56 не
Код а Код тогда уж. Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: karpenko1989 от Март 11, 2012, 08:28 Пишу так:
Код: Ui::SelectParamsForm SelectParamsForm::ReturnUi() Выводится ошибка: Cconversion from 'Ui::SelectParamsForm*' to non-scalar type 'Ui::SelectParamsForm' requested. Как мне можно это исправить? Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: LisandreL от Март 11, 2012, 08:49 А что вам в этой ошибке непонятно?
Описано, что функция возвращает тип Ui::SelectParamsForm, а вы пытаетесь вернуть тип Ui::SelectParamsForm*. Нужно либо: 1) исправить объявление функции и возвращать указатель, 2) либо возвращать результат используя разыменование (понимая что при этом мы получим КОПИЮ) 3) либо возвращать ссылку Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: Bepec от Март 11, 2012, 09:01 Что то жуткое происходит в этом топике...
Странная проблема. Множество ответов. НепонЯЯЯЯЯтно... Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: mutineer от Март 11, 2012, 13:00 Пишу так: Код: Ui::SelectParamsForm SelectParamsForm::ReturnUi() Выводится ошибка: Cconversion from 'Ui::SelectParamsForm*' to non-scalar type 'Ui::SelectParamsForm' requested. Как мне можно это исправить? Посмотри мою подпись и тебе сразу станет понятно что надо делать Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: sudo от Март 11, 2012, 13:04 Посмотри мою подпись и тебе сразу станет понятно что надо делать Ломать всем ноги? :o Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: mutineer от Март 11, 2012, 13:05 Посмотри мою подпись и тебе сразу станет понятно что надо делать Ломать всем ноги? :o Не, это для других случаев:) Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: Пантер от Март 11, 2012, 13:06 Посмотри мою подпись и тебе сразу станет понятно что надо делать Ломать всем ноги? :o Название: Re: Получить доступ к элементам класса формы Qt Designer Отправлено: kambala от Март 11, 2012, 17:18 тогда уж лучше пальцы
|