-2
我有一個控制檯QT應用程序。現在我需要添加GUI到它。所以我創建了一個新的GUI應用程序並將我的控制檯應用程序源文件添加到GUI應用程序中我添加了一個不起作用的按鈕。我猜connect()不起作用,因爲myapp-> start()沒有被調用。但觸發事件的正確方法是什麼?QT GUI中的連接方法不起作用
這裏是頭文件:
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
public slots:
void startProgram();
private:
Ui::MainWindow *ui;
MyApp *myapp;
QPushButton *startButton;
};
這裏是源文件:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
myapp = new MyApp;
startButton = new QPushButton("Start");
QObject::connect(startButton, SIGNAL(clicked()), this, SLOT(startProgram()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::startProgram()
{
myapp->start();
}
嗯,這是一個段錯誤,你是否試過通過調試器運行它? – Nooble
它墜毀在哪裏?什麼是控制檯輸出?你沒有提供任何信息。 – user3427419
崩潰已修復。現在我的問題是,連接並沒有實際觸發myapp-> start()。 GUI包裝有什麼問題嗎? – Sissi