2016-09-09 62 views

回答

1

您可以通過使用QtSingleApplication,處理上的messageReceived的命令行參數,按照https://doc.qt.io/archives/qtextended4.4/qtopiadesktop/qtsingleapplication.html#QtSingleApplication

在你的應用程序開始實現自己的目標,你需要檢查,如果你可以用你的命令行參數SendMessage函數已運行實例,然後退出。否則,你將繼續啓動您的應用程序,如下

int main(int argc, char* argv[]) 
{ 
    QtSingleApplication app("MySingleInstance", argc, argv); 

    // try to send commandline arguments 
    if(app.sendMessage(app.arguments().join("$"))) 
    { 
     return 0; 
    } 

    /* connect your messageRecieved signal to slot 
    SomeClass::slotLoadCommandLine to be able to handle 
    the commandline arguments from sendMessage*/ 
    QObject::connect(qApp, SIGNAL(messageReceived(QString)), 
        SomeClass, SLOT(slotLoadCommandLine(QString))); 

    //start your application 
    return app.exec(); 
} 

編輯

+0

@shellter沒有問題。 ..我們都學習..謝謝你的評論:)! – HazemGomaa

+0

這個類是否被棄用?我沒有在當前的課程文檔或任何與我的課程相關的圖書館中找到它。 –

+0

哪個Qt版本? – HazemGomaa

相關問題