2017-05-12 60 views
0

我正在使用Qt Quick Controls 2來開發我的新應用程序。最近,我遇到了一個嚴重的問題,如下所述:Qt Quick Controls 2應用程序崩潰時Qt.quit()

問題:當我在一個按鈕的單擊處理程序中調用Qt.quit()時,應用程序將主要崩潰。調試到代碼中,我發現它在運行到qquick_syncback_helper(在qquickanimatorjob.cpp中)時發生崩潰。我的演示代碼退出簡單:

import QtQuick 2.7 
import QtQuick.Controls 2.1 
import QtQuick.Layouts 1.0 

ApplicationWindow { 
    id: window 
    visible: true 
    width: 640 
    height: 480 
    title: qsTr("Hello World") 


    Button{ 
     text: "quit" 
     onClicked: Qt.quit() 
     anchors.centerIn: parent 
    } 
} 

任何人有什麼想法?

PS:發現如果非常快地點擊按鈕,應用程序就會正常退出,而在按鈕上緩慢點擊(當按鈕上的動畫出現時)時幾乎會崩潰。

PPS:我在Windows 10 64bit上使用Qt Creator 4.2.2,Qt 5.8.0用於VS 2015 64bit,並使用Qt Quick Controls 2和Material Style 2.1。我還沒有試過Qt 5.9.0,但我很快就會弄清楚。

+0

基於對問題的描述,它聽起來就像你正在使用的材料的風格和Qt 5.8.0,但你可以澄清這些的問題嗎?你在使用哪個平臺?您可以嘗試使用在線安裝程序中提供的最新Qt 5.9.0測試版嗎? – jpnurmi

+0

你爲什麼說崩潰?你有什麼信息? – eyllanesc

+0

它不會崩潰,我按任何方式按鈕。也許是錯誤的Qt安裝。我正在使用GCC。 – dtech

回答

-2

使用這樣的:

onPressed: Qt.quit() 
+1

請解釋你的答案 – eyllanesc

+0

用'onPressed'替換'onClicked' – chengjianxi

+0

爲什麼? 'onClicked'有什麼改進? – eyllanesc