原创 Windows下根據程序名稱找到窗口句柄並操作窗口

1、根據程序名稱找到進程 #include "stdafx.h" #include<iostream> #include<Windows.h> #include<TlHelp32.h> using namespace std; i

原创 Windows下尋找某個進程

1、函數法 函數原型 HWND hwnd = FindWindow( LPCTSTR lpClassName, // pointer to class name LPCTSTR lpWindowName // pointer to

原创 SQLite數據庫中rowid的使用

SQLite數據庫中rowid使用 SQLite中每個表都默認包含一個隱藏列rowid,使用WITHOUT ROWID定義的表除外。通常情況下,rowid可以唯一的標記表中的每個記錄。表中插入的第一個條記錄的rowid爲1,後續插

原创 Qt在Item中存取自定義數據

很多時候,我們對QTableWidget等控件的Item進行數據的存取,此時,我們需要用setData()函數將數據存進去,再通過data()函數將數據取出來。 實例: typedef struct stTemp { int

原创 Qt文本過長時,縮減文本並顯示省略號

函數原型: QString QFontMetrics::elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags = 0) const

原创 Qt使用QPDFWriter和QPainter生成PDF的問題

由於項目上有需要,這幾天在研究Qt生成PDF。但是遇到問題,繪製第二頁的時候,同一座標和尺寸,與第一頁的表現完全不一致。 QFile pdfFile(QCoreApplication::applicationDirPath()

原创 VS/Qt調用外部程序的幾種方法

1、QProcess(Linux/Windows) QProcess::startDetached("calc.exe"); //也可用來執行命令行語句,如殺死進程 QProcess::startDetached("takski

原创 QTableWidget用法總彙

1.QTableWidget不能在mainwindow中隨主窗口的大小變化? 解決:在表格外部添加布局。 代碼:tableWidget = new QTableWidget; tableWidget ->setObjec

原创 QTextEdit獲取文本行號

1.光標法 #include <QTextLayout> #include <QTextBlock> QTextCursor tc = ui.textEdit->textCursor(); //當前光標 QTextLayout

原创 Qt使用正則實例

// integers 1 to 9999 QRegExp rx("[1-9]\\d{0,3}"); // the validator treats the regexp as "^[1-9]\\d{0,3}$" QRegExpV

原创 QLineEdit對輸入做限制

1、前言 QLineEdit支持使用函數setValidator對輸入做限制,支持整數、小數、正則等形式的Validator 2、示例 //限制輸入整數,範圍0-100 ui->lineEdit->setValidato

原创 Windows下,string與wstring互轉

#include <Windows.h> //將string轉換成wstring wstring string2wstring(string str) { wstring result; //獲取緩

原创 .pro文件轉.vcproj文件(QtCreater項目轉VS+Qt項目)

前言: QtCreater的.pro文件中,有許多寫法在VS+Qt項目中,並不知道怎麼寫,網上相關的資料也很少,例如CONFIG,QTPLUGIN等,這個時候,我們就可以寫好.pro文件,再將它轉換爲VS可以打開的.vcproj文

原创 Qt/C++在子線程執行函數的兩種方法

前言: 很多時候,我們的某個函數非常耗時,會造成系統卡頓,但這個函數又不會經常調用,如果另外建立一個線程類,又得去維護,得不償失,這個時候,我們就希望在子線程執行該函數,執行完自動釋放。 這裏介紹兩個方法: 1、使用QtConcu

原创 VS/Qt調用外部庫的三種方法

1、代碼法 #ifdef _DEBUG #pragma comment (lib,"..\\debug\\my.lib") #else #pragma comment (lib,"..\\release\\my.lib")