Member 13740197 Ответов: 1

Как получить доступ к пользовательскому интерфейсу из другого класса в qt C++


Привет,

У меня есть требование, что мне нужно получить доступ к пользовательскому интерфейсу из другого класса. Я должен назначить png метке из этого класса. Для этого я создал функцию в своем widget.cpp чтобы назначить png метке. И из другого класса(ApplicationWindow) Я создал объект класса виджетов и через этот объект вызываю функцию класса виджетов. Здесь проблема заключается в том, что я могу получить доступ к классу виджетов fucntion, но не могу назначить png для метки. Не могли бы вы, пожалуйста, предоставить решение для этого.

Что я уже пробовал:

Widget.cpp

пустота виджет::Display_image()
{
qDebug()<<"в функции отображения";
QPixmap pixmap("/root/rfid.png");
УИ-и GT;label_image-&ГТ;setPixmap(растровое изображение);
ui->label_image->setScaledContents( true );
УИ-и GT;label_image-&ГТ;setSizePolicy( QSizePolicy::игнорируется, QSizePolicy::игнорируется );

}


ApplicationWindow.cpp


void ApplicationWindow::closeApp()
{
Виджет obj; // отсюда мне нужно получить доступ к пользовательскому интерфейсу
об..Изображение();

}

Здесь я могу напечатать "In Display function" с помощью qDebug, но метка не отображает изображение.

1 Ответов

Рейтинг:
4

KarstenK

Вам нужно получить доступ к правильному объекту, например члену из окна приложения. Ваш виджет является локальным объектом и уничтожается после выхода из функции.

Использование некоторых указателей часто помогает.


Member 13740197

Привет
После использования указателей я также не могу получить доступ к пользовательскому интерфейсу. Ниже приводится то, что я использовал.

Виджет *obj;
obj->Display_image();

также попробовал ниже

Виджет *obj = новый виджет();
obj->Display_image();

Не могли бы вы, пожалуйста, предоставить мне решение.