QT小部件在UI開發方面非常耗時,我的CSS表單已經有3000行代碼,並且執行UI更改非常耗時。我的應用程序在性能方面要求非常高,我正在考慮將小部件嵌入到QML中,以便更輕鬆,更快速地控制UI,但是我非常擔心性能,值得一試,否則這只是一種壞習慣?這是不好的做法:將QML嵌入到QT可停靠小部件應用程序中?
回答
我的應用程序在性能方面要求很高,我是 思維嵌入部件到QML有更容易和更快 控制的用戶界面,但我真的很擔心性能,將值得 的試或者這只是不好的做法?
由於Qt 5.1我們可以很容易地將QML視圖嵌入到Qt Widget容器中。有一段我偶然發現的博客:Combining Qt Widgets and QML with QWidget::createWindowContainer()。
至於性能,不確定您的應用程序需要哪種性能?整體QML呈現通過OpenGL或非常快速的畫面。另一方面,使用QML時,您經常需要處理JavaScript,這當然不能與C++相媲美。儘管如此,Qt引入了Qt Quick Compiler。
至於基於QWidget的-UI與QML:討論可以被認爲是觀點的表達等一些考慮點,那麼:
- 開發和維護的一種UI,無論是小部件或基於QML是更輕鬆。
- 混合用戶界面是可能的,但它是有道理的,瞭解你可以從中獲得什麼。
- 大多數桌面應用程序只完全滿足小部件。
- 當應用程序應該移植到移動平臺時,QML更有意義。
- 當應用程序應該依靠'touch'時,QML比widgets更有利。
的QT部件是很長的時間在UI開發方面的消費,我 CSS表有3000行代碼已經,這是很長的時間耗費 做用戶界面的變化。
嗯......非常嚴重樣式的基於窗口小部件的應用程序?我只能確定這兩個概念:小部件和QML是非常不同的,但小部件樣式表和QML都是聲明性語言,雖然不同。我也確信,任何認真的應用程序都需要更多的C++和QML,因此我們需要花時間用CML橋接C++代碼。
QML應用程序的分佈也可能比純粹的基於窗口小部件更復雜:例如,您需要定製Qt構建以支持某些虛擬機和平臺模擬的OpenGL:這是一個有趣的主題。另外,你使用的Qt Quick小部件應該把它們放到與應用程序分發的資源中,或者你需要Qt Quick Compiler。如果您使用它,請確保所有QML代碼都是由它編譯的,並且應用程序的任何部分仍然使用'腳本'QML,這是從資源中缺失的。我在我們的應用程序中使用了Qt 5.5 Quick Compiler,並且發現它不僅存在一些錯誤,而且還需要將某些Qt Quick文件從框架中拖放到應用程序安裝包中。這與標準的動態鏈接和windeployqt
工具不一樣。但是一個嚴肅的應用程序通常需要靜態鏈接到它的所有依賴項,然後我們不能使用windeployqt
工具。
整體而言,Qt正在從小部件轉移到QML,但我們可以獲得什麼以及我們需要多少QML纔是真正的應用程序,這是一個漫長的討論。
- 1. 將QML嵌入到資源Qt應用程序中的問題
- 2. 將外部應用程序嵌入到Qt中的一個小部件中
- 3. QT如何將應用程序嵌入QT部件
- 4. 將Ogre嵌入到Qt應用程序
- 5. 如何在QML中嵌入Qt小部件?
- 6. 使用可可應用程序中的Qt小部件
- 7. 把可停靠小部件的默認位置在Qt的
- 8. 如何將qml文件整合到qt-widgets應用程序中?
- 9. 可以停靠到第三方應用程序的自由停靠控件
- 10. 可以創建嵌入式AngularJS應用程序的小部件?
- 11. 這是可以編輯Qt應用程序中的嵌入式資源嗎?
- 12. 是否可以將耙入嵌入到應用程序中?
- 13. 將java小程序嵌入到C#桌面應用程序中
- 14. 這是不好的做法?
- 15. 這是不好的做法?
- 16. 將Python 3.4嵌入到C++ Qt應用程序中?
- 17. 將Python/Numpy/Matplotlib嵌入到C++ Qt應用程序中?
- 18. QT 5.5將外部應用程序嵌入QWidget
- 19. 是否有可能將Dart嵌入到Java應用程序中?
- 20. 是否可以將nginx嵌入到C/C++應用程序中
- 21. 是否可以將ActiveXObject嵌入到Adobe AIR應用程序中?
- 22. 部署C++/qml應用程序 - 將qml文件打包到bin中
- 23. 不可能部署Qt應用程序
- 24. 應用程序無法啓動停靠
- 25. 將Qt 5 QML應用程序部署到真正的Android設備
- 26. 嵌入Qt應用程序的Emacs
- 27. 在JSF應用程序中嵌入GWT小部件
- 28. PHP中的嵌套操作符。這是不好的做法嗎?
- 29. 部署QML應用程序
- 30. 是否有可能將QT應用程序託管到WPF應用程序中?