Название: Обратится к компоненту из другого класса/файла Отправлено: NezLich от Август 16, 2012, 16:55 Есть стандартный проект QT Widget.
Добавляю к нему пользовательский класс. И проблема в том, как обратится к компоненту из пользовательского класса. В главной классе (MainWindow) к нему можно достучаться так: ui->component. Пробовал объявлять в пользовательском классе "ui_mainwindow", но приложение крешется при обращении к компонентам... Название: Re: Обратится к компоненту из другого класса/файла Отправлено: Bepec от Август 16, 2012, 17:09 Код приведите пожалуйста .
А по делу - надо просто сделать его полем родительского класса. Ну или как вариант давать ему родителя :) Название: Re: Обратится к компоненту из другого класса/файла Отправлено: NezLich от Август 16, 2012, 17:31 Вот код test.h:
Код: #ifndef TEST_H Код: #include "test.h" Название: Re: Обратится к компоненту из другого класса/файла Отправлено: Bepec от Август 16, 2012, 17:44 Кхм. Очень странный у вас подход.
Обычно взаимодействие с ГУИ осуществляется через собственный интерфейс - сигналы, слоты. Так, как сделали вы, я ещё ниразу не делал и не видел, кто бы делал :) Счас попробую сам :D Название: Re: Обратится к компоненту из другого класса/файла Отправлено: Bepec от Август 16, 2012, 17:49 Вы видимо по памяти писали на коленке.
h Код: #ifndef TMO_H Код: #include "tmo.h" Название: Re: Обратится к компоненту из другого класса/файла Отправлено: NezLich от Август 16, 2012, 19:10 Что-то не получается... Вообще то да, через слоты, просто в одном классе реализовал слоты для работы с деревом.
Попробовал их в главном файле подключить слот, но не получается... Название: Re: Обратится к компоненту из другого класса/файла Отправлено: Bepec от Август 16, 2012, 19:11 На пустые слова можно ответить пустыми словами. А на неработающий проект можно ответить замечаниями и патчами.
PS это намёк. Начинали все. Название: Re: Обратится к компоненту из другого класса/файла Отправлено: NezLich от Август 16, 2012, 19:15 Собственно пока вот такой код, но не работает.
Mainwindow.cpp Код: #include "mainwindow.h" Код: #ifndef TEST_H Код: #include "test.h" Название: Re: Обратится к компоненту из другого класса/файла Отправлено: kambala от Август 16, 2012, 19:29 изучай сигналы-слоты:
QObject::connect(ui->TreeFiles, SIGNAL(itemClicked(QTreeWidgetItem*,int)), treetest, SLOT(TreeClick(QTreeWidgetItem*,int))); Название: Re: Обратится к компоненту из другого класса/файла Отправлено: NezLich от Август 16, 2012, 19:42 изучай сигналы-слоты: К сожалению, не реагирует на клик :(QObject::connect(ui->TreeFiles, SIGNAL(itemClicked(QTreeWidgetItem*,int)), treetest, SLOT(TreeClick(QTreeWidgetItem*,int))); Извиняюсь, клик работает, но вот дерево не добавляет компонент... |