原创 QML 3D 無邊框,背景透明
3ds max2018導出obj文件在Qt5.7.1會報錯 Qt3D.Renderer.IO: Missing position index ASSERT failure in QVector<T>::operator[]: "inde
原创 Qt 藍牙通訊
pro文件加上QT += bluetooth 頭文件: #ifndef BLUETOOTHPROXY_H #define BLUETOOTHPROXY_H #include <QObject> #include <QtBluetoo
原创 Qt跨平臺文字轉語音
pro加上 QT += texttospeech 頭文件: #ifndef TEXTTOSPEECH_H #define TEXTTOSPEECH_H #include <QObject> #include <QTextToSpeec
原创 模仿Qt的安裝界面,基於quazip解壓
能夠將放在QT的資源文件中,在解壓本地 .或者先複製到本地再解壓,支持多線程. 核心代碼: void UncompressThread::uncompressFile(QString file,QString path) {
原创 Qt動態切換語言時會觸發QComboBox的currentIndexChanged信號
原因是在retranslateUi調用了comboBox->clear();會觸發currentIndexChanged信號 解決辦法:在ui->retranslateUi(this)之前調用ui->comboBox->blockSig
原创 C++設置windows系統音量,靜音,恢復靜音,獲取音量
/** * @brief setVolum * 設置系統音量 * @param volume * -2 恢復靜音 * -1 靜音 * 0~100:音量比例 * @return */ bool setVolum(int l
原创 Qt程序獲取管理員權限
QMAKE_LFLAGS += /MANIFESTUAC:"level='requireAdministrator'uiAccess='false'" 上面那句死活都不得行,提示路徑或權限錯誤,刪掉後面部分就可以了 QMAKE_LFL
原创 QML判斷操作系統,獲取可執行文件路徑
Component.onCompleted: { var exePath = Qt.application.arguments[0]; if (Qt.platform.os === "windows" ||
原创 Qt實現圓形組合按鈕,搖桿
最近由於項目需要,在軟件上畫一個組合按鈕實現搖桿的功能,以控制機器人移動的方向,借鑑了前行中的小豬的代碼https://blog.csdn.net/GoForwardToStep/article/details/79124025,最終效果如
原创 QML TableView QSqlTableModel加載數據庫
C++部分: #ifndef DATABASEMODEL_H #define DATABASEMODEL_H #include <QSqlTableModel> class DataBaseModel : public QSqlT
原创 Qt在圖片給定位置添加按鈕,並隨圖片的縮放而縮放
最近項目上有這樣一個需求,在圖片的指定位置添加按鈕,圖片隨着窗口的大小而改變,按鈕位置隨着圖片的大小改變而改變,具體圖片是這樣的: 需要在紅色的圓形區域添加按鈕,如果直接放在指定位置呢,窗口大小改變了,圖片的位置也就改變了,不能像佈局那
原创 QML窗口最大化、最小化、無邊框
import QtQuick 2.7 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.0 ApplicationWindow { visible: true v
原创 Qt自定義組合按鈕,實現相機拍照,光學變焦
效果如下: 核心代碼: void CameraButton::paintEvent(QPaintEvent *) { QPainter painter(this); m_arcPathList.clear();
原创 Qt模仿微信掃一掃
實現掃描的動畫是一個label加定時器 label = new QLabel(this); label->setGeometry((width() - VIEWFINDER_WIDTH)/2,(height() + VIEWFI
原创 QTableWidget輸出到excel
QDateTime current_date_time = QDateTime::currentDateTime(); QString current_date = current_date_time.toString("yyyyMM