Qt之重啟應用程式

2021-09-23 14:36:05 字數 1069 閱讀 9860

今天分享的內容有些意思-如何重啟乙個應用程式。其實,有時候這是乙個很重要的功能點,而且很人性化、易用性很好。

例如:切換使用者。當某個使用者登入成功之後,需要切換到其它賬號,那麼這時,你就知道它的重要性了。

qprocess重啟

比較好的方式,在主視窗中定義乙個靜態變數:

static int const exit_code_reboot;

並進行初始化:

int const widget::exit_code_reboot = -123456789;

或者可以定義乙個全域性變數或常量值。

接下來定義乙個槽函式,裡面包含應用程式重啟的**:

void widget::reboot()

建立乙個操作,將使用上面的槽來重啟程式。

qpushbutton *pbutton = new qpushbutton(this);

pbutton->settext(qstringliteral("重啟"));

connect(pbutton, signal(clicked(bool)), this, slot(reboot()));

最後一步,修改應用程式的main函式來處理新的迴圈,將允許程式重啟:

int main(int argc, char *ar**)

while(nexitcode == widget::exit_code_reboot);

return nexitcode;

}

上面的方式介紹完了,還有一種更簡單的方式,使用qprocess啟動。

無需要定義重啟碼,也無需要修改應用程式迴圈。只需要乙個簡單的槽函式即可。

定義乙個槽函式,裡面包含應用程式重啟的**:

void widget::reboot()

Qt 發布應用程式

qt 官方開發環境使用的動態鏈結庫方式,在發布生成的exe程式時,需要複製一大堆 dll,如果自己去複製dll,很可能丟三落四,導致exe在別的電腦裡無法正常執行。因此 qt 官方開發環境裡自帶了乙個工具 windeployqt.exe。以官方 qt 5.8.0 mingw 開發環境為例,從開始選單...

Qt發布應用程式

1.首先找到你的qt的安裝位置 例如我的位置 d qt58 找到d qt58 5.8 msvc2015 64 bin windeployqt.exe 2.找到你想要發布的應用程式的資料夾 例如我的位置 d xx qtdoc build release release xtest.exe 3.管理員方...

QT中翻譯應用程式

編寫乙個應用程式可以用到多個國家語言,感覺很好把!qt可以很容易的將編寫的程式翻譯到其他國家語言,下面就來敘述使用的過程 先寫一小段程式 qtranslator的方法load用於裝載翻譯的各種配置,translator會去尋找test.qm,這個檔案中包含了要翻譯的語言,如果不提供這個檔案,那麼程式...