原创 QSqlDatabase二三事

目錄 0.前言 1.連接 創建連接 自定義的連接名 2.操作 打開數據庫 事務操作 3.問題 4.參考 0.前言 QSqlDatabase 類用於處理與數據庫的連接,提供用於通過連接訪問數據庫的接口,一個 QSqlDatabase 實例就

原创 C++ std::bind函數適配器

0.初識 C++11 提供了一個名爲std::bind的函數模板,可用於生成可調用對象的轉發調用包裝器,相當於是個通用函數適配器(舊版本的bind1st/bind2nd已被棄用),可以適配任意的可調用對象,包括函數指針、函數引用、成員函數

原创 QML製作環形進度條,使用ConicalGradient錐形漸變

QML中沒有直接提供環形進度條組件,但是我們可以自己實現,如用Canvas、Shape、QPainter等等。我參照濤哥的代碼(https://github.com/jaredtao/TaoQuick),使用QtGraphicalEffe

原创 Qt實現排序的可視化

網上有很多排序可視化的動圖,我也用 QPainter 來繪製了下,目前實現了冒泡排序、選擇排序(快速排序半完成)。(文末附 github 鏈接) 實現思路 這裏面比較麻煩的是,每一次循環都需要暫停一段時間便於展示,但我們又不能在 UI 線

原创 C++學習筆記:強制類型轉換

0.舊式轉換 先看看舊式的強制類型轉換(如,整數進行浮點除法時會把其中一個變量用舊式轉換轉爲 double): //type(expr) 函數形式的強制類型轉換 int count1 = 10; bool not_empty1

原创 記錄:Qt5.12+VS2019編譯32位MYSQL8.0驅動

第零步,說明 從Qt5.12.4(待驗證)版本開始Qt就沒帶MYSQL的驅動了,需要自己編譯。我也是折騰了好久才成功了,特此記錄。 第一步,安裝MYSQL8.0 我是在官網下載的最新版本的*.msi安裝程序,裝完才發現數據庫是64位,但是

原创 Python實現單向鏈表的增刪改查反轉等操作

單向鏈表結構 鏈表由一連串的節點組成,單向鏈表中節點包含一個用來存儲下一個節點引用的成員,如圖所示: 因爲單向鏈表只有一個指針/引用成員,所以操作起來不是很方便,很多地方都需要從頭節點開始遍歷。 實現代碼 完整代碼如下: class

原创 QDataWidgetMapper,數據Model與組件屬性的綁定

0.前言 QDataWidgetMapper類提供數據model與widget屬性之間的映射,可以看成是Qt ItemView的Item現在成了一個已有的widget組件,並且通過綁定該widget的屬性來達到獲取和設置對應值的功能,以此

原创 QML ListView中section分組屬性的基本使用,以及設計一個分組導航

1.看文檔 QML中的ListView提供了一組section屬性,可以看作是對Model內容的分組/分節展示。根據文檔,section有四個屬性: section.property  該屬性指定了以Model Item的哪個屬性來進行

原创 Qt3D模塊初探

0.前言 Qt3D 是由諾基亞發起,後由 Digia 和 KDAB 完善(新版貌似基本都是 KDAB 做的),基於 OpenGL 的三維圖像展示和處理模塊。可惜的是, Qt3D 的資料比較少,而且隨着版本更迭,很多網上老的 Demo 也不

原创 Qt Quick 3D模塊初探

0.前言 Qt Quick 3D提供了用於基於Qt Quick創建3D內容或UI的高級API。提供了對現有Qt Quick場景圖(scenegraph )的擴展,以及對該擴展場景圖的渲染器。使用空間場景圖(Spatial scenegra

原创 記錄:Qt5.15+MinGW編譯32位MYSQL8.0驅動

第零步,說明 之前寫了個VS2019版本的,但是有些羣友MinGW版本的沒弄對,我就再記錄下MinGW32版本的的編譯。 第一步,安裝MYSQL8.0 我是在官網下載的最新版本的*.msi安裝程序,裝完才發現數據庫是64位,但是conne

原创 Qt自定義一個簡單的ToolTip提示框

實現過程 因爲 QToolTip 自定義樣式不大方便,而且半透明也沒法設置,所以需要自定義。而且,Qt 中的頂層 widget 好像默認是不支持透明樣式的,可以設置: setWindowFlags(Qt::FramelessWi

原创 QLabel繪製滾動文本

實現思路 繪製滾動文本是個很簡單的事,只需要用定時器累計一個文本座標偏移量,然後 update ,在 paintEvent 裏把文本畫出來。 Qt 定時刷新可以用(可能還有其他方式): QObject的startTimer配合paint

原创 Qt換膚,使用QResource動態加載資源文件

0.前言 對於簡單的應用,我們可以直接讀取 QSS 樣式表文件來實現換膚。但一般樣式裏還帶有圖片等資源的路徑,如果通過相對路徑來加載,不便於管理,不過好處是替換圖片方便。我們也可以使用 Qt 的 rcc.exe 工具將資源文件生成爲二進制