- 博客(81)
- 资源 (1)
- 收藏
- 关注
原创 QTableWidget表格行列随着窗口进行变化
QTableWidget表格在窗口变化时,行列都随着变化,可以通过以下两行代码进行设置QT4中的设置: //表列随着表格变化而自适应变化 table->horizontalHeader()->setResizeMode(QHeaderView::Stretch); //表行随着表格变化而自适应变化 table->verticalHeader(...
2020-03-27 16:03:13
4139
原创 QT读写ini文件中文乱码
使用QT的QSettings读写ini配置文件时,如果文件中有中文或者要把中文写到配置文件,出现了乱码现象。解决办法:我的工程文件使用了默认的编码方式(win7 qt4.8+vs2008)system,在读写配置文件的时候,在QSettings set(filePath, QSettings::IniFormat);之后,读数据之前添加如下代码:set.setIniCodec...
2020-03-20 14:35:20
4046
转载 QT中的延时处理
一般情况下,延时大概分为两类,一个是非阻塞延时,一个是阻塞延时,但从名称上应该都可以看出来具体的含义,下面针对这两类延时方法,做一个具体的说明和代码实现:一、关于Qt实现非阻塞延时的方法:void QSleepTimeSet::Delay_MSec(unsigned int msec){QTime _Timer = QTime::currentTime().addMSecs(mse...
2020-03-17 14:31:53
1895
原创 使用windriver时开机运行上位机程序无法扫描到设备
现象:在使用windriver的API进行CPCI通信时,开机后第一次运行程序,发现扫描到的设备数为0,此时打开windriver,不做其他任何操作,再关掉,运行程序发现可以找到设备原因:windriver在安装时需要输入license string,此项内容在下载的软件中有带,或者需要通过注册机来生成,在上位机程序中初始调用windriver的API时需要将此license作为参数传...
2020-03-16 10:06:35
538
原创 QT中如何将QMainWindow提升为QWidget
步骤一:修改头文件中的基类类型,将红框内的QMainWindow修改为QWidget,并且添加#include<QWidget>步骤二:修改源文件的构造函数,将红色框内的QMainWindow修改为QWidget步骤三:如果有UI界面,则需要修改***.ui文件,将红色框内的QMainWindow修改为QWidget,这样操作之后,每次重新编译,生成的ui_***.h文...
2020-03-16 09:50:43
5638
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
5476
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
5974
1
转载 Qt之QtSoap(访问WebService)
简述Qt本身给我们提供了调用WebService的解决方案QtSoap,源码及示例见:qt-solutions-qtsoap简述 下载编译 使用 实例解析 示例 效果 源码 更多参考下载编译下载源码后,需要修改一些地方(我的版本是Qt5),按照错误提示修改即可,很简单。编译完成之后会生成QtSolutions_SOAP-headd.lib、QtS...
2020-02-25 11:13:04
2097
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
686
原创 QT5发布exe程序
1、一般情况下,发布程序时使用release模式2、将生成的exe文件拷贝到单独的文件夹,用windeployqt进行依赖库的拷贝和对应目录的生成3、步骤2完成后若程序无法正常运行,可能有以下两种提示信息:1)提示缺少**.dll库,则找到对应的库拷贝到该目录下即可2)提示程序无法正常启动(0xc0000007)错误,则将该可执行程序以及所依赖的非QT三方库一起拷贝到编译程序时使用...
2019-12-31 19:12:32
191
转载 QUdpSocket槽函数只被触发一次
当你定义了QUdpSocket对象并且连接了readyRead信号和自定义的接收处理槽:connect(udpsocket,SIGNAL(readyRead()),this,SLOT(udpreceive()));接收处理槽:void MainWindow::udprecerive(){qDebug()<<"触发了udp接收函数";}你会发现只能触发一次,原因...
2019-11-06 13:47:21
2102
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
2978
原创 secureCRT中的按钮栏设置
打开secureCRT,在查看菜单下选择按钮栏,则在界面上会出现如下画面右击按钮,选择配置,在出现的对话框内输入需要操作的命令说明:在Send String中可以同时写多行命令,每行按照 内容+回车的方式即可...
2019-08-20 14:24:47
7501
原创 QT组件提升后不显示
问题描述:在QT项目中,新建了一个继承于类QGraphicsView的QWGraphicsView类,其创建方式如下图所示:发现在创建后子类的构造函数未对基类的构造函数赋值在minwindow UI设计器中添加控件graphics view,右击-->提升为-->选择自定义的类,然后运行程序,发现在界面不显示子类对象解决办法:在子类的构造函数中需要对父类进...
2019-08-16 11:25:05
4025
原创 linux下inline的使用
在windows下调试程序时,对部分类的成员函数用了inline进行修饰,在其他类中对inline修饰的函数进行了调用,可以正常运行,但是把程序移植到linux中时,却报错调用的函数未定义解决方法:把提示未定义但是程序中确实是有的用inline修饰的函数前面的inline去掉...
2019-07-26 10:31:08
976
原创 vs2010中遇到的堆栈报错问题
在使用VS2010开发程序过程中遇到堆栈报错,普通的数组、指针问题都进行了排查,还是没有找到问题原因,后来咨询同事,才知道vs对每个程序分配的堆栈大小是有限制的,后来经过修改堆栈大小,不再报错,特进行记录。修改堆栈大小的方法:选中要修改的工程右击---->属性---->打开如下界面,选择链接器中的系统----->设置堆栈保留大小说明:一般情况下默认分配堆栈应该是够用的...
2019-07-18 11:28:29
1641
原创 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
9059
原创 linux系统时区设置方式
#include<stdlib.h>(setenv需要头文件)setenv("TZ","UTC-08:00",1);具体参数根据需要进行设置
2018-05-15 10:03:31
1858
转载 格式化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
720
转载 通过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
32546
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
1076
转载 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
5883
原创 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
7032
转载 交叉编译ARM下的GDB
最近arm下的应用程序开发进行的比较多。而我一贯的做法就是在windows下使用vs进行开发,使用跨平台开发规范,该加宏的地方加宏,该用跨平台库的时候用跨平台库,然后尽可能做到在windows下就调试完软件的功能(有些东西,像调用一些驱动,就没办法调了)。目前这样的开发方式基本满足开发需求,但偶尔也会碰到一些特别的问题,需要在板子上调试才能方便的判断问题根源,而使用打印调试信息的方式显然在某些时候
2018-01-22 14:50:43
754
转载 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
3402
原创 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
1217
原创 QT多窗口语言动态切换
1、在main函数中进行静态切换 QTranslator translator; translator.load(QString(":/language/cn.qm"); a.installTranslator(&translator);2、在界面上进行动态切换 QTranslator translator; transla
2017-09-13 18:42:04
1161
原创 QListWidget中项的灰显设置
在QListWidget的使用中调用setFlags可以设置项的使用特性:可用与否以及拖拽等1、setFlags参数设置为Qt::ItemIsEnabled设置此参数后只是此项不可选,但是为正常显示,不会灰显2、setFlags参数设置为Qt::ItemIsUserCheckable设置此参数后项不可选,同时对应项会灰显
2017-09-12 16:48:48
4244
2
原创 QT控件QTreeWidget的说明
1、遍历控件的根节点QTreeWidget控件提供了两个可以访问根节点的函数 1)takeTopLevelItem(int) :QTreeWidgetItem *此函数只能访问第一个根节点,所以无法实现根节点的遍历2)topLevelItem(int) const:QTreeWidgetItem *此函数可以根据给定的参数来访问对应的根节点,根节点个数可以通过程序进行记录,也可
2017-09-12 16:37:44
826
原创 QT中操作oracle数据库注意事项
1、执行一条插入语句,数据库中却插入了两条除主键外其他数据均相等的数据 用QSqlQuery类的对象进行SQL语句的执行,代码如下QSqlQuery query(sqlStr)query.exec()使用上述代码会同时插入两条数据修改如下:QSqlQuery queryquery.exec(sqlStr)执行修改后的代码则可以正确插入(测试有效)
2017-08-31 18:53:05
524
原创 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
1052
转载 QT中的namespace Ui的理解
接下来谈谈namespace Ui { class Dialog: public Ui_Dialog {}; }/********************************************/
2017-08-18 09:45:56
2612
原创 QT界面布局设计
方法一、用QT设计器1、以方便快捷的将需要的控件拖放至适当的位置,并通过样式简单设置其显示风格2、右击跳转到槽,为控件添加处理事件说明:对应的文件有:***.ui(界面显示文件) ***.h ***.cpp(处理事件所在的文件) ui_***.h(此文件在编译时生成,但是在QT工程中不显示,其中内容为控件的界面布局) 方法二、手工编写代码1、创建类,在类中定义需
2017-08-18 09:41:48
724
转载 oracle数据库报ORA-12541 TNS:无监听程序
1、可能没有启动监听,在oracle安装目录找到 lsnrctl.exe 输入 start 2、或是在我的电脑右键管理--服务和应用程序--服务--找到OracleOraDb10g_home1TNSListener 双击点启动(自身是通过这种方式进行启动可用)
2017-08-17 09:21:26
770
转载 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
1842
原创 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
573
原创 QT定时器使用
1、QObject类中的定时器1)主要使用的函数:startTimer(int intel) 启动定时器,返回一个ID用来标识不同的定时器 killTimer(int timerId) 根据参数给出的ID停止对应的定时器timerEvent(QTimerEvent *) 根据参数中提取的ID来区分不同的定时器,以便进行不同的操作2)使用此
2017-08-15 16:56:44
4082
原创 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
2678
原创 在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
2958
原创 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
902
2
qtsoap.zip
2020-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人