原创 Qt 數據庫模型(QSqlQueryModel,QSqlTableModel)獲取模型中的所有數據

數據模型默認不是顯示所有數據 最近使用QTableView結合QSqlQueryModel以及QSqlTableModel在寫很多報表,中間產生了一系列出乎意料的現象。其中之一就是QSqlQueryModel,QSqlTableModel

原创 Qt 實現多級菜單

前言 在衆多知名的軟件UI中下拉菜單、按鈕菜單、右鍵菜單、托盤菜單、多級菜單等等是很常見的,就連Windows和linux等系統級的軟件也用到這些UI元素。 下圖就是我們最常見的Windows系統多級菜單: Qt實現(多級)菜單 在Q

原创 TinyXML-2 寫 XML 文件

要寫入xml文件的內容 <?xml version="1.0" encoding="UTF-8"?> <!--this is a comment--> <html> <head>this is a heading!</head>

原创 TinyXML-2 讀 XML 文件

要讀的XML文件 示例代碼 #include <iostream> #include "tinyxml2.h" using namespace std; using namespace tinyxml2; /***********

原创 Linux中samba服務器的搭建

使用的vmware12虛擬機安裝的centos6.8和物理機上的windows10,實現在windows10 上訪問CentOs上的samba服務。 一、先查看系統中是否安裝有samba服務相關的軟件包。    查看到我的linux中沒有

原创 Linux系統下 解決Qt5無法連接MySQL數據庫的方法

 Linux平臺下解決Qt5連接mysql數據庫的問題:輸入sudo apt-get install libqt5sql5-mysql解決,這種方法只能解決Qt是用sudo apt-get install qt-sdk命令裝的低版本的Q

原创 git: Your branch is ahead by X commits 的解決方案

產生原因 因爲你在pull或者fetch原作者代碼的時候會產生新的commit記錄,這條commit其實是讓你的庫和原作者的庫代碼一致,但是卻會生成一條和你修改代碼後提交的commit一樣的記錄,導致你的倉庫的基(base)和原作者的倉庫

原创 SQL 字符串拼接

前言 字符串拼接是編程中經常會遇到的場景。在C語言中我們使用 char *strcat(char *dest, const char *src) 將src字符串拼接到dest字符串後面;C++更是通過操作符重載實現了可以直接對兩個字符串進

原创 SQL 實現日期(時間)相加減

前言 時間(日期)的相加減是編程中經常會遇到的場景,我們使用的很多第三方庫都會提供相應的API來供程序員實現時間(日期)的相加減。樓主一直使用的Qt庫的QDate類就有提供addDays()系列API供程序員調用。在結構化查詢語言SQL中

原创 Qt Creator 自動補齊函數參數問題

遇到的問題 使用Qt Creator集成開發環境進行項目編碼時,經常需要重寫父類的虛函數去實現自己想要的功能,但是當聲明這些函數時,經常遇到函數名可以自動補齊,但是函數的參數卻不能自動補齊的情況,可能是有些Qt Creator的版本支持只

原创 QTableView根據內容自動調整大小(resizeColumnToContents解決不了的)

前言 最近使用QTableView比較頻繁,出現了一些比較奇葩的問題,其中之一就是QTableView在顯示來自模型的數據時,經常會顯示...省略了內容的後半部分。 如下圖: 查看幫助文檔可以找到resizexxxxToContent

原创 github 遠程倉庫(原作者的倉庫)和你的fork倉庫保持一致

步驟 1、切到你要的分支: git checkout branch_name 2、拉取upsteam(原作者倉庫的別名)倉庫的代碼: git fetch upstream 3、合併upsteam(原作者倉庫的別名)倉庫的代碼到你的本地

原创 Qt 圖形視圖框架(Qt MVC)

什麼是MVC MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典範,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部

原创 表白神器製作

1、新建一個文本本件,輸入你想表白的話: 代碼如下: msgbox("xxx我喜歡你~") msgbox("沒有你我活不了~") msgbox("嫁給我好不好~") msgbox("愛你麼麼噠~") 2、保存,更改文件後綴名爲vbs

原创 C++11智能指針之shared_ptr

引入智能指針的背景(目的) 智能指針的引入主要爲了解決程序員在使用new之後該釋放(delete)內存的地方沒釋放(delete),要確保用 new 動態分配的內存空間在程序的各條執行路徑都能被釋放是一件麻煩的事情。C++ 11 模板庫的