1. 程式人生 > >Qt那些事0.0.13

Qt那些事0.0.13

關於QQmlApplicationEngine和QQuickView真是不知道該說些什麼.搜尋到一個兄臺在一個月的之間的大徹大悟,部落格地址 :

哦,我也不知道該說些什麼了,反正我的程式碼裡還有幾個ReferenceError: OOOO is not defined等待我處理.

把標點符號全部都改成英文的,為了就是寫註釋和程式碼方便一些.但是寫部落格的話感覺特別不舒服呢.

/************************2018年11月30日 更新**********************************/

調換了一下setContextProperty和setSource的順序,先將物件設定到context中,然後再進一步設定qml檔案,這樣就 不再報referenceError錯誤錯.

但是有個更詭異的問題出現,設定qml檔案設定全屏,通過先QQuickView::setSizeMode(),再更新qml中的width,height為desktop().width()等,最後讓viewtoObjectQQuickView::setPosition(0,0),第一眼沒有問題,但是通過切換視窗,再切換回來,會發生視窗透明.

查到   部落格,提出問題以及解決方法,測試後果然是這個原因.

現象 QML程式在啟動時,有一瞬間明顯的黑屏。
觸發條件  1.全屏顯示;
                2.程式的flags包含Qt.FramelessWindowHint。
根本原因  不詳
解決方法  設定程式的顯示大小,不要剛好等於螢幕大小。

import QtQuick 2.6
import QtQuick.Window 2.2
Window {
	visible : true 
	//寬或高加減一個不等於0的數,即可去除。 
	width: Screen.width + 1; 
	height: Screen.height; 
	flags: Qt.FramelessWindowHint
	Text {
		id : text;
		text : qsTr("text");
		width : parent.width;
		height : parent.height;
	}
}
/*
作者:chase_hung
來源:CSDN
原文:https://blog.csdn.net/chase_hung/article/details/80863531
版權宣告:本文為博主原創文章,轉載請附上博文連結!
*/