日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

移植开源QT软件-SameGame

發布時間:2023/12/31 c/c++ 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 移植开源QT软件-SameGame 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

??????? QML是一種描述性的腳本語言,文件格式以.qml結尾。語法格式非常像CSS(參考后文具體例子),但又支持javascript形式的編程控制。我個人認為它結合了QtDesigner UI和QtScript的優點。QtDesigner可以設計出·ui界面文件,但是不支持和Qt原生C++代碼的交互。不過也沒關系,本身MVC分離了最好。

??????? QtScript可以和Qt原生代碼進行交互,但是有一個缺點,如果要在腳本中創建一個繼承于QObject的圖形對象非常不方便,只能在Qt代碼中創建圖形對象,然后從QtScript中進行訪問。而QML可以在腳本里創建圖形對象,并且支持各種圖形特效,以及狀態機等,同時又能跟Qt寫的C++代碼進行方便的交互,使用起來非常方便。

??????? 一般使用C++編寫計算密集型模塊,作為object插件的形式被QML使用,再使用JavaScript編寫邏輯模塊,做到模塊分離。


移植QtSameGame:

??????? QtSameGame在Qt5-Sample幫助頁。

??????? QtSameGame在Qt5-Sample里面不是單獨的工程創立的,不能原班移植。參考這篇文章:一步一步學Qt(Qt Quick)/qml 開發第五篇,建立一個基于Qt Quick Controls1.2 的工程。不能基于QML,不知道為何。

  依照 參考文章里面的指示添加Content里面的文件,修改:

ApplicationWindow {//Rectangle {

?????? 可以編譯運行。

?????? 但是失去了state屬性,又一次修改為

//ApplicationWindow {Rectangle {

??????? 程序可以正常運行

可能性錯誤:During sturtup program exited with code 0xc0000139

?????? 解決方案:分清MinGW的DLL文件和Qt5里面的Dll文件;

?????????????????????????? 若使用了第三方庫,用所使用的QT版本重新編譯一次,如qwt這樣的第三方的庫;

注意:

??????? 將QML和其中的圖片放入資源中,這里引用QML的時候需要以qrc開頭,否則訪問不到圖片文件.

??????? 資源添加過程中在哪個位置加入是個問題.

爭議之處:

import "content/samegame.js" as Logic

??????? 使用JS作為控制系統效率問題?邏輯與計算分離。

參考文章:

Rectangle???? 屬性列表頁

ApplicationWindow屬性頁

QML官方系列教程——Using the Qt Quick Particle System使用粒子系統

QML官方系列教程——Scalability 使用ApplicationWindow:適配不同分辨率設備。

Qt官方教程系列,此系列翻譯得較為詳細,非常值得參考: Qt官方教程系列

Qt Quick新特性概覽:最明顯的就是新的QtQuick.Controls模塊的引入

此文章介紹了:在窗口部件中嵌入Qt Quick

??????? 最終我們為在一個現有的基于窗口部件的應用程序中包含一個Qt Quick 2場景添加了支持。這是通過使用新的QWidget::createWindowContainer()函數來嵌入一個QQuickWindow的。


QML范例詳解:使用JS編寫控制系統,使用C++進行計算。

Rectangle詳細解釋



總結

以上是生活随笔為你收集整理的移植开源QT软件-SameGame的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。