В главном классе MainWindow у меня есть метод, который устанавливает setEnabled («false») для каждой кнопки, когда приложение загружается.В другом классе «Скачать» у меня есть метод, отвечающий за загрузку.Это что-то вроде if ( uRet == S_OK )
, и после загрузки я хотел бы установить setEnable ("true") для каждой кнопки, но я не могу запустить метод из MainWindow в этом случае, если () "потому что я получаю" QWidget: должен создать QApplicationперед QPaintDevice ".
Как запустить метод из класса MainWindow в классе загрузки или обратиться к этим кнопкам из класса загрузки.
edit: // Мне нужно подать сигнал
class downloaded : public QObject
{
Q_OBJECT
public:
void test3();
signals:
void changeEnabled();
};
void downloaded::test3(){
emit changeEnabled();
}
class MainWindow : public QMainWindow{
Q_OBJECT
public:
...
public slots:
void ONchangeEnabled();
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
downloaded test_object;
connect(&test_object, SIGNAL(changeEnabled() ), this, SLOT(ONchangeEnabled() ) );
ui->setupUi(this);
setupUI();
}
void MainWindow::ONchangeEnabled(){
ui->actionDL->setEnabled(true);
}
и в функции, которая загружает файлы, которые у меня есть, вот так.
downloaded obiekt;
...
if ( uRet == S_OK )
{
obiekt.test3(); return 0;
}
else {
obiekt.test3(); return 1;
}
Но ничего не происходит, что я делаю не так.