Qt程序每次都冻结

Qt program freezes every time

本文关键字:冻结 程序 Qt      更新时间:2023-10-16

我正在使用 qtcreator 在 Qt 中制作一个C++ GUI 程序,它还没有完成,但是当我构建并运行以测试它运行的程序时,如果我单击打开文件或在文件中写入某些内容的按钮,按钮会这样做,然后程序冻结。为什么会这样,我做错了什么或有什么问题。

它主要冻结在以下两个功能中:

    void MainWindow::on_kmpOpenButton_clicked()
{
    QString kmplayerloc = ""F:\Program Files\The KMPlayer\KMPlayer.exe"";
    QProcess::execute(kmplayerloc);
}
void MainWindow::on_nbopenbutton_clicked()
{
    // Remember tha if you have to insert " in a string  "....location of file or anything u want to put......."
    QString netbeansloc = ""F:\Program Files\NetBeans 7.4\bin\netbeans.exe"";
    QProcess::execute(netbeansloc);
}

来自文档

在新的程序中启动程序 [..] 进程,等待它完成,然后返回 过程。

调用线程冻结,直到外部进程完成。如果不希望这样做,请使用方法 startstartDetached