原创 將保存有很長的0\1串的QString或string進行按位與、按位或操作

問題描述: 0\1串保存在QString中,對兩個等長QString進行按位與,一般方法是將QString轉換成QBitArray或者int型數據,然後進行按位與操作。 由於我要處理的0\1串可能很長(幾十位甚至幾百位),將QSt

原创 Qt+MySQL:在Qt中用代碼新建數據庫

一般都是在MySQL的命令行或者workbench中建一個數據庫,然後直接用Qt對已存在的數據庫進行連接,像這樣: // 連接數據庫 database_1=QSqlDatabase::addDatabase("QM

原创 Qt中調用visual studio裏編寫的對MySQL數據庫進行了操作的類,error: mysql.h: No such file or directory的解決辦法

問題描述: 我和小夥伴一起做一個東西,我用QT做界面,他用visual studio寫底層的功能代碼,他在VS裏寫的類對數據庫進行了操作,我把他在VS裏寫的類(.h和.cpp)直接拷貝到我的QT工程裏,在我的QT代碼中調用他寫的類

原创 Qt數據庫,查詢表的內容,獲取查詢結果的行數和列數

首先,連接數據庫。 // 連接數據庫 database_1=QSqlDatabase::addDatabase("QMYSQL","connect1"); database_1.setHostName("localhost");

原创 QT插入數據到數據庫報錯:"Column count doesn't match value count at row 1 QMYSQL: Unable to execute query"

原因:錯誤代碼舉例如下,在prepare語句中,table寫了3列,插入數據時,只插入了2列數據,表的列數和每行插入的數據個數不匹配。 query1.prepare("insert into table123(net,node,G

原创 Qt報錯 collect2.exe:-1: error: error: ld returned 1 exit status

在網上找了好多解決辦法,可能的原因五花八門,這篇博客講得最詳細QT中報錯collect2:ld returned 1 exit status的可能原因。 試了一陣,我的程序報錯的原因是,程序生成的.exe正在運行,把Qt關了那個.

原创 Qt 在主界面程序中,調用子界面(另一個界面)的控件

問題: 在主界面程序mainwindow.cpp中,想調用子界面(另一個界面)上的控件。 已經在.pro工程中添加好了一個設計師界面類作爲子界面,這裏我在工程中添加的是show_netlist_dialog.cpp /.h /.u

原创 Qt 判斷QTableWidget的item是否爲空,調用ui->tableWidget->item(i,j)->text()程序崩潰

問題: 判斷QTableWidget的item是否爲空時,調用ui->tableWidget->item(i,j)->text()程序崩潰。 原因: (1)如果是沒有被編輯過的單元格,將不能用ui->tableWidget->it

原创 [C++11新特性 nullptr] Qt warning: zero as null pointer constant

在Qt使用了指針後想令指針等於NULL,但有warning: zero as null pointer constant 把p=NULL;改成p=nullptr;就沒有警告了。 關於令指針爲空指針時,~是應該寫p=nullpt

原创 C++ 讀protel電路網表程序,用於邊界掃描互聯網絡測試

寫了一個簡單的讀電路網表的程序,把每個互聯網絡的網絡名和結點提取出來,得到的信息用於邊界掃描互連網絡測試。 不同軟件公司的網表文件格式不同,以下代碼僅能讀protel的電路網表。 protel的電路網表後綴是.NET,格式如下圖:

原创 C++11 使用引用類型時要注意的幾點

從《C++ Primer》上總結的使用引用類型時要注意的幾點: (1)因爲無法令引用重新綁定到另一個對象,因此引用必須初始化。一旦初始化完成,引用將和它的初始值對象一直綁定在一起。 (2)因爲引用本身不是一個對象,所以不能定義引用

原创 向vector、string添加元素後,若存儲空間被重新分配,則指向容器的迭代器、指針、引用都失效

// vector、string添加元素後,若存儲空間被重新分配,則指向容器的迭代器、指針、引用都失效。 // v.front()、v.back()返回的是元素的引用,類型和元素類型一樣 // v.begin()、v.end()返

原创 [C++11] 向函數形參傳遞vector的引用,並返回vector

#include<iostream> #include<iterator> #include< vector> using namespace std; int main() { vector<int> v;

原创 VS 2017中導出函數爲DLL,創建和隱式加載動態鏈接庫

新建一個項目(工程) 創建一個控制檯應用程序,這裏我命名工程名爲20190703,點擊確定 創建好後有以下頭文件和源程序 在頭文件這裏新建一個頭文件,以實現加法函數爲例,我創建了一個名爲add_test的頭文

原创 VS2017 把類導出成動態鏈接庫DLL並隱式調用的步驟及遇到的一些問題的解決辦法

把類導出成DLL和把函數導出成DLL 的方法類似,非常詳細的步驟見https://blog.csdn.net/weixin_43222324/article/details/94589140 這裏只說一下大概步驟: (1)新建一個