自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 QT开发之工具栏

工具栏的使用:将菜单中的对应菜单项手动拖动到工具栏上面1、添加图标ui->mainToolBar->setMovable(false); ui->mainToolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); QIcon icon(":/img/1.png"); ui->action1->setIcon(icon); ui->mainToolBar->setI

2020-08-04 16:57:47 14

原创 QT开发之QSlider控件

添加方式:在UI中右键点击滑块控件,选择改变样式表,添加下面代码就可以了1、QSlider{border:none; background-color:transparent;border-radius: 8px; } QSlider::handle:horizontal { background: transparent; border: none; width: 12px; ..

2020-07-30 15:10:20 33

原创 QT开发之自动配置exe

1、windeployqt命令,复制类似的路径然后我的电脑->属性->在path中点击编辑,然后讲前面的路径填进去就可以了,记得加’;‘2、将Release生成的exe放到单独的位置,进入命令模式,直接输入:windeployqt+空格+exe名称.exe就可以了,自动生成exe的配置文件,我上面的截图就是已经生成好了的,...

2020-07-28 23:02:45 21

原创 QT开发之QMdiArea控件的使用

1、使用直接拖动然后选择添加子窗口就可以了但是正常情况下子窗口初始是最小化显示的,需要在代码中添加QMdiSubWindow *newwin = new QMdiSubWindow(this); newwin->setWindowTitle("test"); newwin->setAttribute(Qt::WA_DeleteOnClose); newwin->resize(200,200); ui->mdiArea-&.

2020-07-27 09:53:15 19

原创 QT开发之TreeWidget、TreeView控件

1、TreeWidgetui->treeWidget->setColumnCount(1); //设置列数 ui->treeWidget->setHeaderLabel(tr("图像选择")); //设置头的标题 QTreeWidgetItem *imageItem1 = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("图像1"))); imageItem1->setIcon(

2020-07-23 14:07:56 40

原创 QT开发之USB通信

使用hid和快传速

2020-07-20 15:35:47 25

转载 QT开发之串口通信

QT上使用串口通信非常简单的,已经有串口类,只需要在pro添加,然后添加头文件就可以正常使用了,环境:QT5.9.0+Creator4.3.1,WIN101、添加代码QT += serialport.h头文件:#ifndef QMYSERIALPORT_H#define QMYSERIALPORT_H#include <QMainWindow>#include <QSerialPort> //提供访问串口的功能#inc

2020-07-20 15:32:38 24

原创 VS2013之Windows平台兼容性问题

1、使用VS查看生成的exe文件所有dll依赖库打开文件然后根据VS中生成的exe是32位还是64位来打开命令提示工具然后使用命令进入exe运行的路径,再exe路径 + dumpbin /dependents exe名称.exe或者直接dumpbin /dependents exe路径如果名称有空格的需要带“”回车后就会显示exe需要的依赖库原则上建议将所有的库都和exe放在一起,以免在别的电脑上打开exe会提示什么乱七八糟的错误的问题,这些都是缺少库或者32

2020-07-17 09:32:05 32

原创 Python开发之3.8.3安装过程

1、在官网上下载安装包:https://www.python.org/downloads/windows/选择一个最新版的下载,我选的DownloadWindows x86-64 executable installer2、安装下载下来后双击安装包运行起来选中勾上Add Python 3.8 to PATH选项,并单击Install Now继续最后点击Close就安装完成了3、使用快捷键WIN+R,弹出的运行窗口中输入cmd,弹出命令提示框,输入pyt.

2020-06-23 11:57:03 149

原创 Windows软件打包工具的使用(二)

打包一个使用VS生成的软件安装步骤,安装项目一般选择企业版生成exe,向导语言可以选择中文或者英文2、在产品细节中,填写名称和发布者还有软件的图标3、在文件和文件夹中设置快捷方式,选择桌面,名称中去掉.exe,设置软件图标4、设置生成的安装包名称和图标5、有些打包软件需要安装驱动,添加自定义操作,选择运行一个exe,并选择需要执行的软件所在文件夹,在安装执行阶段将驱动拖到最后面来,这样如果驱动安装没有成功也不会导致整个安装包回滚...

2020-06-08 11:55:48 48

原创 QT开发之旋转按钮(三)

在旋转按钮(二)的基础上进行了大量的优化,主要是添加了三种类型的旋转按钮类型,并且可以设置旋转按钮的一切素材参数,比如,旋转整体角度、按钮大小、轨迹颜色、粗细、指针粗细、颜色、贴图等等使用:pSpinButton->setAccuracy(Accuracy,min,max);//范围,精度 pSpinButton->setAngle(270);//旋转范围 if(type) { pSpinButton

2020-06-05 15:51:05 187

原创 QT开发之菜单

1、添加菜单项和响应功能QMenu *pMenu = new QMenu(this); connect(pMenu->addAction("菜单项1"), &QAction::triggered, [=]() { //菜单项1对应功能 });QSSpMenu->setStyleSheet( "QMenu {" "background-color: white;" /* sets background of

2020-06-04 17:46:18 50

原创 QT开发之文件操作

1、根据软件目录路径来操作文件QString fileName = QCoreApplication::applicationDirPath();fileName = fileName + "/abc.json";QFile file(fileName );if(!file.open(QIODevice::ReadWrite))//如果abc文件不存在就创建{ qDebug() << "File open error"; exit(1);}else{

2020-06-04 13:50:36 33

原创 QT开发之生成动态库

1、创建2、完成创建后直接运行,会弹出这个对话框,不用管,已经生成成功了3、打开生成的位置,找到DLL

2020-05-29 09:51:59 34

转载 QT开发之打开文件对话框getOpenFileName

Qt 打开文件的默认路径 QFileDialog::getOpenFileName()为了说明QFileDialog::getOpenFileName()函数的用法,还是先把函数签名放在这里:QString QFileDialog::getOpenFileName ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir ...

2020-05-19 11:43:23 43

原创 Qt开发之添加注释模板方便使用

一般代码中都会带上注释,但是有些注释很简陋,没有统一的格式,这个时候如果能有一个注释模板就能更方便了。1、方法工具菜单->选项->文本编辑器->片段选项卡点击添加按钮,填写触发的字符串,然后在下发编辑输入区填写注释模板/******************************************** @projectName %{CurrentProject:Name}* @Features 摘要* @author BT* @da.

2020-05-11 16:34:22 55

原创 Qt开发之添加Qt源码调试

1、首先在安装Qt的时候选中Sources安装源码2、随便新建一个工程,然后工具->选项->调试器添加后会像图1显示原路径和目标路径3、调试这样就可以了

2020-05-11 15:56:37 42

原创 QT开发之ini文件的读写

1、写入ini文件数据int a = 0;//tool.ini为路径,根据exe的路径位置存放,第二个参数为操作iniQSettings *configIniWrite = new QSettings("tool.ini", QSettings::IniFormat);//dialog为健值,第二个为写入的参数 configIniWrite->setValue("d...

2020-04-28 16:37:31 42

原创 QT开发之QListWidget批量拖拽

1、获取批量选中项std::vector<int> Item_sum;//选中行QItemSelectionModel *selections = ui->listWidget->selectionModel(); //返回当前的选择模式(这个地方我是自绘控件,使用this->selectionModel()) QModelIndexList select...

2020-04-24 17:28:35 52

原创 QT开发之自绘控件中获取单个键盘按键和组合键

头文件中添加:void keyPressEvent(QKeyEvent *event);cppvoid 自绘控件::keyPressEvent(QKeyEvent *event){ if(event->key() == Qt::Key_Up)//上 { qDebug() << "press key up"; retu...

2020-04-24 09:43:21 63

原创 QT creator使用

1、在项目中增加功能类文件夹

2020-04-20 16:37:24 39

原创 QT开发错误集

1、error: multiple definition of `***::***(QWidget*)'在项目.pro中SOURCES += \处添加的.h和.cpp文件有重复添加,将重复的去掉就可以了

2020-04-17 11:10:22 69 1

原创 串口和USB的区别

1、区别2:、为什么有了USB还要用串口? ①串口成本低,而且更主要的是,COM口对开发者和使用者而言,不需要去专门开发和安装驱动,这样又省了软件成本。 ②COM虽然速度慢,使用繁杂,但它的抗干扰能力是远远超过USB的,在同等高频干扰情况下,使用USB通讯的设备经常会死机卡住,但COM口就不会。现在很多工业上还是会用COM口,就是这个原因。 ...

2020-04-13 15:20:56 109

原创 QT开发之JSON数据读写

1、写JSON文件:头文件:#include <QJsonObject>#include <QJsonArray>#include <QJsonDocument> //fileName为路径 if (!fileName.isNull()) { // 以读写方式打开路径下文件,若该文件不存在则会自动...

2020-01-16 16:50:54 75

原创 QT开发之QLineEdit

1、设置输入限制QLineEdit lineedit = new QLineEdit(this);QRegExp rx("([a-zA-Z0-9])+([0])");//设置为只能输入数字和英文QRegExpValidator *pRevalidotor = new QRegExpValidator(rx,this);lineedit->setValidator(pRevalid...

2019-12-26 17:12:52 68

原创 WORD2010文档里面突然不能输入汉字的解决办法

WIN10+word20161、打开word选项对话框2、在高级选项卡中去掉【输入法控制处于活动状态】的选项3、重启word就好了

2019-12-26 16:40:38 98

原创 QT开发之旋转按钮(二)

①旋转范围是(0-360度,已做判断360后只能为360不会变为0度,相反也是)②设置间隔和当前值,编辑框输入和显示③可以按照坐标进行缩放(缩放最好去掉顶部原点)1、旋转按钮.h#ifndef MYSPINBUTTON_H#define MYSPINBUTTON_H#include <QWidget>#define whirlbuttonHeigth ...

2019-12-20 15:33:17 154

原创 QT开发之QSS控件

1、多选按钮 ui->checkBox->setStyleSheet("QCheckBox {" "spacing: 5px;" "font-size: 14px;" ...

2019-12-17 16:27:22 58

原创 QT开发之ComboBox控件

1、不可编辑时样式,背景、下拉框背景都为黑色,字体为白色ui->comboBox->setStyleSheet("QComboBox::drop-down:pressed" "{"//下拉按钮设置 "subcontrol-position:cen...

2019-12-16 18:18:15 80 1

转载 QT开发之QT5 connect新语法:Lambda表达式

Qt 5 之前的语法在 Qt 5 之前,我们需要使用下面的语句来链接 signal 和 slot:connect(sender, SIGNAL(valueChanged(QString, QString)), receiver, SLOT(updateValue(QString)));Qt 实际上利用SIGNAL和SLOT这两个宏,把其后的函数名转换成一个字符串。随后...

2019-12-13 17:00:41 53

转载 QT开发connect多个写法

概述Qt 中的信号和槽应该是最熟悉不过的了,连接信号和槽的关键字 connect有五种连接类型,今天不是介绍这五种连接类型,而是简单的总结一下 connect 的几种新旧写法,其实在新版本中几种写法都能适用,看个人习惯吧。第一种首先来看看老版本的 connect 写法,比较复杂些,需要将信号和槽进行明确的指定,包括形参。看一个示例:为方便演示,先自定义一个 Button,然后定义...

2019-12-13 16:56:34 47

转载 旋转角公式

x1=cos(angle)*x-sin(angle)*y;y1=cos(angle)*y+sin(angle)*x;其中x,y表示物体相对于旋转点旋转angle的角度之前的坐标,x1,y1表示物体旋转angle后相对于旋转点的坐标从数学上来说,此公式可以用来计算某个点绕另外一点旋转一定角度后的坐标,例如:A(x,y)绕B(a,b)旋转β度后的位置为C(c,d),则x,y,a,b,...

2019-12-09 16:58:41 78

转载 QT开发之旋转按钮(一)

第一步画定点三角形第二步画背景大圆第三步画背小圆第四步画旋转的棍子第五步画刻度加了抗锯齿比原来的好看些1、使用方法:动态创建MySpinButton Spin_button = new MySpinButton(this);Spin_button->resize (200, 200);Spin_button->move (350, 200);Sp...

2019-12-09 10:30:33 237

原创 QT开发之画图(一)

1、画圆角矩形:drawRoundedRect()void QPainter::drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize)QPainter p(this); p.setPen(QColor(255,0,0))...

2019-12-05 11:48:07 45

原创 24位WAV文件转换为32位WAV文件

1、其中data为24位wav数据,data2位32位wav数据,DATA_sum为长度,因为wav数据很大,所有DATA_sum每次最好不要太大了,static uint8_t Data2[DATA_sum * 2] = {0};memset(Data2,DATA_sum * 2);memcpy(Data2, Data, DATA_sum );for(int i = DATA_su...

2019-11-26 14:16:45 158

原创 QT开发之界面(一)

1、设置背景图片随窗口大小变化void 类::paintEvent(QPaintEvent *e){ QPainter painter(this); static int w_sum = 0; static int h_sum = 0; //如果控件要跟着变可以在这个地方设置控件的大小和位置 if(w_sum != this->width(...

2019-11-19 11:32:35 60

原创 QT开发之中文乱码问题

1、主函数中添加QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));2、菜单中根工具->选项->文本编辑器->行为选项卡->文件编码的默认编码设置为UTF-83、如果是使用getSaveFileName生成的文件名为中文时乱码其中一个原因是:在保存文件先,写入的数据使用...

2019-11-18 14:01:34 23

原创 QT开发之小知识点

1、uint8_t转QStringQString add;uint8_t uuuu[10] = {0x12,0x56.....}add = (char *)uuuu;或者char* a = (char*)uuuu;add= a;2、单精度或是双精度数据在进行运算时丢失精度的问题运算过程中都要使用单精度或是双精度,结果也用单精度或是双精度保存,然后再使用强制转换符转...

2019-11-14 20:25:37 26

原创 QT开发之QToolTip提示

将鼠标移动到控件上,提示相关信息重载event(QEvent *event)函数1、判断鼠标是否在控件上面:if(ui->控件ID->geometry().contains(this->mapFromGlobal(QCursor::pos())))2、如果要获取控件中的每一个控件是否鼠标在上面:控件2必须是控件1中的控件,通过获取子窗口和鼠标绝对位置来判断...

2019-11-05 13:57:58 104

原创 QT开发之QProgressDialog进度条对话框

最简单进度条对话框:https://blog.csdn.net/hb_programmer/article/details/81099535实现效果优化一下UI://对话框正文,取消按钮名称,进度条范围,父窗口 Dilog = new QProgressDialog(对话框名称," ",0,最大范围,this); Dilog->setWindowFlag...

2019-11-05 10:06:29 368

提示
确定要删除当前文章?
取消 删除