自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (1)
  • 收藏
  • 关注

原创 QTableWidget表格行列随着窗口进行变化

QTableWidget表格在窗口变化时,行列都随着变化,可以通过以下两行代码进行设置QT4中的设置: //表列随着表格变化而自适应变化 table->horizontalHeader()->setResizeMode(QHeaderView::Stretch); //表行随着表格变化而自适应变化 table->verticalHeader(...

2020-03-27 16:03:13 3609

原创 QT读写ini文件中文乱码

使用QT的QSettings读写ini配置文件时,如果文件中有中文或者要把中文写到配置文件,出现了乱码现象。解决办法:我的工程文件使用了默认的编码方式(win7 qt4.8+vs2008)system,在读写配置文件的时候,在QSettings set(filePath, QSettings::IniFormat);之后,读数据之前添加如下代码:set.setIniCodec...

2020-03-20 14:35:20 3864

转载 QT中的延时处理

一般情况下,延时大概分为两类,一个是非阻塞延时,一个是阻塞延时,但从名称上应该都可以看出来具体的含义,下面针对这两类延时方法,做一个具体的说明和代码实现:一、关于Qt实现非阻塞延时的方法:void QSleepTimeSet::Delay_MSec(unsigned int msec){QTime _Timer = QTime::currentTime().addMSecs(mse...

2020-03-17 14:31:53 1720

原创 使用windriver时开机运行上位机程序无法扫描到设备

现象:在使用windriver的API进行CPCI通信时,开机后第一次运行程序,发现扫描到的设备数为0,此时打开windriver,不做其他任何操作,再关掉,运行程序发现可以找到设备原因:windriver在安装时需要输入license string,此项内容在下载的软件中有带,或者需要通过注册机来生成,在上位机程序中初始调用windriver的API时需要将此license作为参数传...

2020-03-16 10:06:35 474

原创 QT中如何将QMainWindow提升为QWidget

步骤一:修改头文件中的基类类型,将红框内的QMainWindow修改为QWidget,并且添加#include<QWidget>步骤二:修改源文件的构造函数,将红色框内的QMainWindow修改为QWidget步骤三:如果有UI界面,则需要修改***.ui文件,将红色框内的QMainWindow修改为QWidget,这样操作之后,每次重新编译,生成的ui_***.h文...

2020-03-16 09:50:43 4608 3

转载 QT中使用QAxObject读取EXCEL大量数据时速度慢的原因及解决方案

读取excel慢的原因这里不说如何打开或生成excel,着重说说如何快速读取excel。网上搜到用Qt操作excel的方法,读取都是使用类似下面这种方法进行: QVariant ExcelBase::read(int row, int col) { QVariant ret; if (this->sheet != NULL && !...

2020-03-02 10:28:52 4721 2

转载 QT之使用QAxObject操作excel

Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic Script。1994年发行的Excel 5.0版本中,即具备了VBA的宏功能。在VBA的参考手册中就可以看到具体函数、属性的用法,Qt操作E...

2020-02-28 17:19:32 5640 1

转载 Qt之QtSoap(访问WebService)

简述Qt本身给我们提供了调用WebService的解决方案QtSoap,源码及示例见:qt-solutions-qtsoap简述 下载编译 使用 实例解析 示例 效果 源码 更多参考下载编译下载源码后,需要修改一些地方(我的版本是Qt5),按照错误提示修改即可,很简单。编译完成之后会生成QtSolutions_SOAP-headd.lib、QtS...

2020-02-25 11:13:04 1970 5

转载 QT换肤时的QSS文件写法

QWidget, QLabel, QPushButton, QRadioButton, QCheckBox,QGroupBox, QStatusBar, QToolButton, QComboBox, QDialog{background-color: #ffaaff;color: #BBBBBB;}QPushButton{border: 1px solid #333333;...

2020-02-19 19:09:59 634

原创 QT5发布exe程序

1、一般情况下,发布程序时使用release模式2、将生成的exe文件拷贝到单独的文件夹,用windeployqt进行依赖库的拷贝和对应目录的生成3、步骤2完成后若程序无法正常运行,可能有以下两种提示信息:1)提示缺少**.dll库,则找到对应的库拷贝到该目录下即可2)提示程序无法正常启动(0xc0000007)错误,则将该可执行程序以及所依赖的非QT三方库一起拷贝到编译程序时使用...

2019-12-31 19:12:32 160

转载 QUdpSocket槽函数只被触发一次

当你定义了QUdpSocket对象并且连接了readyRead信号和自定义的接收处理槽:connect(udpsocket,SIGNAL(readyRead()),this,SLOT(udpreceive()));接收处理槽:void MainWindow::udprecerive(){qDebug()<<"触发了udp接收函数";}你会发现只能触发一次,原因...

2019-11-06 13:47:21 1917 1

转载 数据大小端转换

1、unsigned short int 类型数据的转换方法一:unsigned short int num;unsigned short int numChange = num/256+num%256*256方法二:unsigned short BLEndianUshort(unsigned short value){return ((value & 0x00...

2019-11-05 16:14:42 2782

原创 secureCRT中的按钮栏设置

打开secureCRT,在查看菜单下选择按钮栏,则在界面上会出现如下画面右击按钮,选择配置,在出现的对话框内输入需要操作的命令说明:在Send String中可以同时写多行命令,每行按照 内容+回车的方式即可...

2019-08-20 14:24:47 7191

原创 QT组件提升后不显示

问题描述:在QT项目中,新建了一个继承于类QGraphicsView的QWGraphicsView类,其创建方式如下图所示:发现在创建后子类的构造函数未对基类的构造函数赋值在minwindow UI设计器中添加控件graphics view,右击-->提升为-->选择自定义的类,然后运行程序,发现在界面不显示子类对象解决办法:在子类的构造函数中需要对父类进...

2019-08-16 11:25:05 3716

原创 linux下inline的使用

在windows下调试程序时,对部分类的成员函数用了inline进行修饰,在其他类中对inline修饰的函数进行了调用,可以正常运行,但是把程序移植到linux中时,却报错调用的函数未定义解决方法:把提示未定义但是程序中确实是有的用inline修饰的函数前面的inline去掉...

2019-07-26 10:31:08 905

原创 vs2010中遇到的堆栈报错问题

在使用VS2010开发程序过程中遇到堆栈报错,普通的数组、指针问题都进行了排查,还是没有找到问题原因,后来咨询同事,才知道vs对每个程序分配的堆栈大小是有限制的,后来经过修改堆栈大小,不再报错,特进行记录。修改堆栈大小的方法:选中要修改的工程右击---->属性---->打开如下界面,选择链接器中的系统----->设置堆栈保留大小说明:一般情况下默认分配堆栈应该是够用的...

2019-07-18 11:28:29 1406

原创 linux下通过命令格式化SD卡

步骤一:查看系统中是否有步骤二:sudo fdisk /dev/sdb12输入m会出现命令类表,简洁而强大Command (m for help): mCommand action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d del...

2018-05-16 15:12:21 8835

原创 linux系统时区设置方式

#include&lt;stdlib.h&gt;(setenv需要头文件)setenv("TZ","UTC-08:00",1);具体参数根据需要进行设置

2018-05-15 10:03:31 1487

转载 格式化SD卡工具e2fsprogs嵌入式版本制作

1. 下载源码包e2fsprogs,本人下载的版本是1.44.1:http://sourceforge.net/projects/e2fsprogs/2. 解压源码包到某个目录,本人的是:/root/Desktop/common;3. cd进入到刚解压的源码目录,并建立新目录 release 用于安装编译连接后的程序;4. cd进入release目录,并建立配置脚本

2018-04-27 09:21:54 639

转载 通过SQL语句查看数据库表的列数

看具体是什么数据库,以oracle,mysql,sqlserver分别回答。1、oracle:1select count(*) from user_tab_cols where table_name='表名';--表名含英文的话应为英文大写字母结果如图:2、mysql:1select count(*) from information_schema.COLUMNS where table_name...

2018-03-21 13:52:12 31478 1

原创 QT4.8.4添加QtExtSerialPort模块

1、下载QtExtSerialPort模块的源码并放置在不包含中文的任意路径下2、通过终端进入存放源码的目录,使用qmake命令对qtextserialport.pro操作,生成对应的Makefile  qmake为要添加serial模块的QT版本对应的路径,可以在环境变量中进行设置,也可以使用其绝对路径qmake qtextserialport.pro3、对生成的Makefile进行make(l...

2018-03-15 18:22:02 1013

转载 qt中如何设置makefile中的编译参数(qt中添加gdb调试的条件)

在qt中要在Makefile中添加相关的编译参数可以通过在xx.pro文件中修改来实现:在xx.pro中通过使用QMAKE_CXXFLAGS设置来实现(以添加gdb调试参数为例)QMAKE_CXXFLAGS += -g(在xx.pro文件中可能显示的是黑色,其他显示为有紫色)重新编译后就可以使用gdb指令调试了。

2018-01-22 16:19:03 5303

原创 linux下的core文件路径及文件名设置

方式一、临时设置 1 、如何生成 coredump 文件 ? 1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 2)使用ulimit -c filesize命令,可以限制core文件的大小(filesize的单位为kbyte),如果生成的信息超过此大小,将会被裁剪,最终生成一个不完整的core文件。在调试此c

2018-01-22 15:22:58 6643

转载 交叉编译ARM下的GDB

最近arm下的应用程序开发进行的比较多。而我一贯的做法就是在windows下使用vs进行开发,使用跨平台开发规范,该加宏的地方加宏,该用跨平台库的时候用跨平台库,然后尽可能做到在windows下就调试完软件的功能(有些东西,像调用一些驱动,就没办法调了)。目前这样的开发方式基本满足开发需求,但偶尔也会碰到一些特别的问题,需要在板子上调试才能方便的判断问题根源,而使用打印调试信息的方式显然在某些时候

2018-01-22 14:50:43 703

转载 IPv4地址正则表达式

iPv4的ip地址都是(1~255).(0~255).(0~255).(0~255)的格式下面给出相对应的正则表达式:"^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1

2017-10-12 15:31:18 3109

原创 QT实现截屏功能

QT中本身的截屏实现方式:QPixmap pixmap = QPixmap::grabWindow(QApplication::desktop()->windId());QDateTime dt = QDateTime::currentDateTime();QString filename = QString("%1.jpg").arg(dt.toString("yyyyMMdd-hh

2017-09-29 09:56:23 1167

原创 QT多窗口语言动态切换

1、在main函数中进行静态切换    QTranslator translator;    translator.load(QString(":/language/cn.qm");    a.installTranslator(&translator);2、在界面上进行动态切换        QTranslator translator;    transla

2017-09-13 18:42:04 1044

原创 QListWidget中项的灰显设置

在QListWidget的使用中调用setFlags可以设置项的使用特性:可用与否以及拖拽等1、setFlags参数设置为Qt::ItemIsEnabled设置此参数后只是此项不可选,但是为正常显示,不会灰显2、setFlags参数设置为Qt::ItemIsUserCheckable设置此参数后项不可选,同时对应项会灰显

2017-09-12 16:48:48 4053 2

原创 QT控件QTreeWidget的说明

1、遍历控件的根节点QTreeWidget控件提供了两个可以访问根节点的函数 1)takeTopLevelItem(int) :QTreeWidgetItem *此函数只能访问第一个根节点,所以无法实现根节点的遍历2)topLevelItem(int) const:QTreeWidgetItem *此函数可以根据给定的参数来访问对应的根节点,根节点个数可以通过程序进行记录,也可

2017-09-12 16:37:44 728

原创 QT中操作oracle数据库注意事项

1、执行一条插入语句,数据库中却插入了两条除主键外其他数据均相等的数据  用QSqlQuery类的对象进行SQL语句的执行,代码如下QSqlQuery query(sqlStr)query.exec()使用上述代码会同时插入两条数据修改如下:QSqlQuery queryquery.exec(sqlStr)执行修改后的代码则可以正确插入(测试有效)

2017-08-31 18:53:05 491

原创 QT中QSettings类的对象创建方式

创建普通对象或者指针对象1)正确方式方式1:QSettings setting("filePath",存储格式)方式2:QSettings *settings;settings = new QSettings("filePath",存储格式)说明:方式2用一行创建也是可以的2)错误方式QSettings setting = QSetting("filePath"

2017-08-31 18:47:19 983

转载 QT中的namespace Ui的理解

接下来谈谈namespace Ui                    {                         class Dialog: public Ui_Dialog {};                     }/********************************************/                       

2017-08-18 09:45:56 2563

原创 QT界面布局设计

方法一、用QT设计器1、以方便快捷的将需要的控件拖放至适当的位置,并通过样式简单设置其显示风格2、右击跳转到槽,为控件添加处理事件说明:对应的文件有:***.ui(界面显示文件)   ***.h   ***.cpp(处理事件所在的文件)  ui_***.h(此文件在编译时生成,但是在QT工程中不显示,其中内容为控件的界面布局)    方法二、手工编写代码1、创建类,在类中定义需

2017-08-18 09:41:48 595

转载 oracle数据库报ORA-12541 TNS:无监听程序

1、可能没有启动监听,在oracle安装目录找到 lsnrctl.exe 输入 start 2、或是在我的电脑右键管理--服务和应用程序--服务--找到OracleOraDb10g_home1TNSListener 双击点启动(自身是通过这种方式进行启动可用)

2017-08-17 09:21:26 705

转载 Qt+VS2010中英文切换

界面先简单只有两按钮,分别控制英转中和中转英。先说步骤:1、用英文做界面。2、在工程上右键,点击"Create new Transltion File ",会在工程目录生成一个ts文件。3、用linguist.exe打开ts文件,填上对应的中文翻译。4、 在工程上右键,点击“lrelease all .ts files in project”,生成一个qm文

2017-08-16 18:17:14 1755

原创 VS2010+QT5.4

1、安装VS2010(这一步必须先于安装qt插件做)2、安装qt-opensource-windows-x86-msvc2010_opengl-5.4.03、安装qt-vs-addin-1.2.4-opensource(qt插件,在VS中可以显示QT菜单和创建QT工程的重要步骤)4、配置VS2010在VS中选择菜单QT5-->qt option,选择QT的安装目录(到msvc201

2017-08-16 15:07:49 508

原创 QT定时器使用

1、QObject类中的定时器1)主要使用的函数:startTimer(int intel)       启动定时器,返回一个ID用来标识不同的定时器       killTimer(int timerId)     根据参数给出的ID停止对应的定时器timerEvent(QTimerEvent *)     根据参数中提取的ID来区分不同的定时器,以便进行不同的操作2)使用此

2017-08-15 16:56:44 3700

原创 QT中将多个UI文件对应的类放在一个头文件和源文件中

主要功能:在主窗口上单击按钮,跳转到另一个窗口1、有两个UI文件分别为:form.ui和mainwindow.ui(主窗口)2、一个头文件(整合了两个UI文件对应的头文件)其代码显示如下:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include #include namespace Ui {class MainWi

2017-08-01 16:57:56 2542

原创 在mainwindow中通过代码添加控件

MainWindow::MainWindow(QWidget *parent)    : QMainWindow(parent){    QRadioButton *radio = new QRadioButton("radio button1");    QVBoxLayout *vbox = new QVBoxLayout;    vbox->addWidget(radio

2017-08-01 16:30:37 2815

原创 QT QDomDocument读取XML文件内容

//递归访问所有节点void dealXmlFile(QDomElement first){    QDomNode node = first.firstChild();    while(!node.isNull())    {        if(node.childNodes().count()>1)        {            dealXmlFi

2017-07-29 14:52:36 802 2

qtsoap.zip

qtsoap用于QT中进行webservice的访问,目前只支持客户端,如果只需要作为客户端,不需要作为服务端,可以使用qtsoap,此源码包括了QT工程,用QT4.8+VS2008可以直接编译通过,QT5需要根据报错进行修改

2020-02-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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