[英]Qt application launch but does not show
我有一個奇怪的問題,我在2個月前開發了一個小項目,然后又開始進行研究。
問題在於應用程序啟動了(因為我可以在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問題的主題。
我認為值得一提的是,兩個月前我放棄該項目時,我使用的是同一台PC,並且所有路徑(編譯器,庫和Qt)都相同。
我知道我會感激你。
也許您使用的庫定義了另一個main
入口點,但是您的那個不會被調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.