Qt应用程序启动但不显示

Qt application launch but does not show

本文关键字:显示 启动 应用程序 Qt      更新时间:2023-10-16

我有一个奇怪的问题,我两个月前开发了一个小项目,我又开始工作了。

问题是应用程序启动(因为我可以单击IDE中的停止按钮来杀死它)。但是窗户看不出来。没有显示任何错误消息,我尝试在IDE之外启动它(带有所有dll和平台插件)。但这是一样的

下面是我的MainWindow构造函数:
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow) {
    qDebug() << "R";
    ui->setupUi(this);
    ui->statusbar->setSizeGripEnabled(false);
    recorder = new QAudioRecorder(this);
    createTempDir();
    this->canProcessData = false;
    this->state = WAITING;
    this->mode = NONE;
    connect(this->recorder, SIGNAL(durationChanged(qint64)),
            this, SLOT(updateDuration(qint64)));
    connect(this->recorder, SIGNAL(statusChanged(QMediaRecorder::Status)),
            this, SLOT(updateStatus(QMediaRecorder::Status)));
    connect(this->recorder, SIGNAL(stateChanged(QMediaRecorder::State)),
            this, SLOT(onStateChanged(QMediaRecorder::State)));
    connect(this->recorder, SIGNAL(error(QMediaRecorder::Error)),
            this, SLOT(showError()));
    // list settings
    foreach(const QString &device, recorder->audioInputs()) {
        ui->input_device->addItem(device, QVariant(device));
    }
    foreach(const QString &codec, recorder->supportedAudioCodecs()) {
        ui->codec->addItem(codec, QVariant(codec));
    }
    foreach(int sample_rate, recorder->supportedAudioSampleRates()) {
        ui->sample_rate->addItem(QString::number(sample_rate), QVariant(sample_rate));
    }
    this->log("Ready :)");
}
下面是main.cpp的代码:
#include "mainwindow.h" 
#include <QApplication> 
int main(int argc, char *argv[]) {
    QApplication a(argc, argv); 
    qDebug() << "A"; 
    MainWindow w; 
    w.setFixedSize(720,455); 
    w.setWindowFlags(w.windowFlags() |= Qt::MSWindowsFixedSizeDialogHint); 
    w.show(); 
    return a.exec(); 
}

正如您所看到的,我在第一行有一个qDebug() << "R";,但它甚至没有显示。

我谷歌了一下,但显然我能找到的都是DLL问题的主题。

我认为值得一提的是,当我2个月前放弃这个项目时,我在同一台PC上,所有的路径(编译器,库和Qt)都是相同的。

如果你知道什么,我会很感激你的。

可能您使用定义了其他main入口点的库,而您的库没有被调用。