- 博客(67)
- 资源 (4)
- 收藏
- 关注
原创 通讯报文中浮点类型的处理
声明一个联合体; typedef union{ UC X[4]; float Y;}CharToFloat; float tempvalue;CharToFloat temp;temp.Y = tempvalue;M104_COMM_FLAG->Sendbuf[index++] = temp.x[0];M104_
2017-12-08 16:32:19 991 1
转载 关于qtablewidgetitem-setitemprototype的理解
在《C++ Gui Programming with Qt4》中第4章,SpreadSheet例子中,Cell继承自QTableWidgetItem类,SpreadSheet继承自QTableWidget类,在SpreadSheet中通过调用setItemPrototype方法设置SpreadSheet的项类--Cell,保证在用户点击时,自动生成Cell实例(instance)来保存用户输入的数
2017-12-08 13:21:06 1403
原创 VS全局搜索失效问题
依次按下以下组合键:ctrl + break; ctrl + scroll, alt + break。 所以就试着用了第二种方法,可以恢复功能。失效原因:估计是F5编译中按了ctrl+break键中止编译(也可能按了多次)
2017-12-07 10:59:45 5829 2
原创 QSettings 中文问题
1.区号 [ ]中不能手动添加中文,不然读不出来值;2.如果key或者value中有中文要加上这句话:config->setIniCodec(QTextCodec::codecForName("UTF-8")); 不然会乱码附写的读写INI的类:cpp=============================================#include
2017-12-04 16:27:42 3961
原创 QT QTextBrowser 添加HTML格式图片文字混合QString后换行问题
更改前:QString right_arrow = QString("").arg("Resources/Selected.png");QString left_arrow = QString("").arg("Resources/SelectedReverse.png");QString ArrowPath = (Col == 1)?right_arrow:left_arrow;
2017-12-01 09:05:29 3921
转载 Windows平台下Doxygen+GraphViz+HtmlHelp自动生成函数调用关系图
最近在做与OpenCV有关的项目,需要参考OpenCV源码的实现。起初在VS中手动查看OpenCV源码,发现简单的函数能够很快整理出该函数的层次调用关系,但是遇到一些复杂的函数时,一层一层的往下查看一会儿脑袋就大了。并且,在查看源码的过程中,发现很多底层的函数都会被重复调用,因此把函数的层次调用关系以图的形式表示出来很有必要。一方面,可以更加清晰的掌握函数的实现过程;另一方面,快速的把最底层的一些
2017-11-29 10:39:27 994 2
转载 QT 自定义IP输入框(自己重写一部分,增加一部分功能)
QT没有提供一个完整的IP地址控件,1. 可以使用QLineEdit简单的实现 QRegExp regExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)"); QRegExpValidator *pValidator = new QRegExpValidator(
2017-11-27 14:45:53 1110
原创 VS+QT和qtcreator工程的互相转换
在windows下,运行Qt Command Prompt。输入命令行:qmake -tp vc XXX.pro会生成文件XXX.vcxprojVisual Studio的project转成QT Creator的project本人QT生手,最近项目上却有个需求,要将原本的Visual Studio的projec
2017-11-24 13:42:20 13857 5
原创 VS2008 内存泄漏
在主程序中加入#define _CRTDBG_MAP_ALLOC #include #ifdef _DEBUG #define new new(_NORMAL_BLOCK,__FILE__,__LINE__) // 这一行使当检测到new分配的内存泄漏时输出文件名和行号。 #endif 以及:int main(int argc, char *arg
2017-11-13 13:07:50 326
原创 QT 打开文件选择窗口
1.#define SYSTEM_DIR_LB_FILE 0x0B000000 //录波目录QString filepath_dat=QFileDialog::getOpenFileName(this,tr("Open Image"),DirMgr::GetSysDirAllEn_Name(SYSTEM_DIR_LB_FILE), tr("d
2017-10-26 10:50:11 5524
原创 QT 界面增加右击菜单
1.声明菜单QTextEdit* m_showMsg; //可弹窗控件区域;QMenu* showMsgMenu; //声明menu;2.绑定信号和槽connect(this->m_showMsg,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(sl_showMsgMenu(QPoint)));c
2017-10-26 10:28:29 345
原创 浮点精度控制实用小函数
/输入一个浮点数,按指定小时位数截取精度QString GetStrbyDigitDot(XFLOAT f,XBYTE Dot){QString str;switch(Dot){case 0:str.sprintf("%.0f",f);break;case 1:str.sprintf("%.1f",f);break;case 2:str.spri
2017-09-08 09:56:42 451
原创 QdialogButtonBox使用方法
控件名:OkCancel1.添加按钮ui->OkCancel->addButton(QStringEx::fromLocal8Bit("确定"),QDialogButtonBox::AcceptRole);ui->OkCancel->addButton(QStringEx::fromLocal8Bit("取消"),QDialogButtonBox::RejectRole);2.
2017-09-08 08:44:54 11969
原创 QT 使用sqlite的方法 实现用户密码登陆实例
#include "formlogin.h"#include "ui_formlogin.h"#include #include #include #include #include FormLogin::FormLogin(QWidget *parent) : QDialog(parent), ui(new Ui::FormLogin)
2017-09-05 13:58:41 6190
原创 qt Item绑定用户自定义数据常用方法
QVariant ItemVariData;ItemVariData.setValue(tree_data);//LogicalNodeData 结构体名称(也可以用ItemVariData =1;之类)plistItem->setText(QString("%1").arg(LNName)); //plistItem是QListWidget
2017-09-04 14:02:47 2340
原创 QMessageBox返回值捕获常用方式
QMessageBox Msg(QMessageBox::Question, QString::fromLocal8Bit("数据库组态"), QString::fromLocal8Bit("模板文件已经存在,是否覆盖?"));QAbstractButton *pYesBtn = (QAbstractButton *)Msg.addButton(QString::fromLocal8Bit("
2017-09-02 13:38:07 9195
原创 C++快速写日志方法
void WriteLog(char * szLog) { SYSTEMTIME st; GetLocalTime(&st); FILE *fp; fp=fopen("D:\\log.txt","at");
2017-08-21 14:19:56 1087 1
原创 QT中char[]和int拼接成字符串
QString newDescStr =QString::fromLocal8Bit(tree_data.Desc)+QString::fromLocal8Bit("%1").arg(lastIndex);注:tree_data.Desc是char[80]类型lastIndex是整形
2017-08-11 13:31:30 1735
原创 用Qstring给char[]数组赋值
tree_data.Desc //Desc是char[80]类型的数据Qstring newDescStr;strcpy(tree_data.Desc ,newDescStr.toLocal8Bit().data());注意:.toLocal8Bit()为了让Qstring变成QByteArray,也为了汉字本地化处理;.data()是将QByteArra
2017-08-11 13:20:58 18048 1
原创 qt-mysql连接不上数据库缺少驱动问题解决
1.参考这个http://blog.csdn.net/m15814478834/article/details/49902077#reply2.文档里的不全对,拷贝libmysql.dll(应该同时拷贝*.lib)到mingw47_32\lib,而不是mingw47_32\bin
2017-07-29 10:41:36 1576
原创 QtableView选择范围操作 通过MAP存储选择行 获取最上行号和最下行号 上移下移一行等一系列操作
自己写项目,遇到一个需求,就是需要获取选择区域的行号,这样方便我做上下移动,和光标重选具体实现如下 #include //获取鼠标选择区(tableview一般默认的是行选取,这个在右侧属性里有,很好找,我的需求也仅仅是行选取) QItemSelectionModel *selections = ui->tableViewTransmitControls->sel
2017-07-27 11:02:17 1046
原创 Qtableview代理类实现添加Combobox 全部代码
我是把代理类单独放在一个头文件和APP中,我看网上有的代码是掺杂在其他类实现文件中,觉得这样不好目前仅仅是实现了添加combobox,若实现其他的,可以在以下几个文件中再添加即可。网上很多代码都是支离破碎,于是我就想整理下完整的实现步骤,方便自己以后查阅,如果能帮到别人,那更好了。1.代理类实现头文件:#ifndef ALLDELEGATE_H#define ALLDELEGA
2017-07-24 13:26:23 8817 12
转载 读写XML
我们知道对XML的操作有两种方法,即DOM方式和SAX方式。二者主要区别是:DOM实现方式操作非常简单,但不适合处理过大文件;而SAX实现方式是能处理很大的XML文件,但是需要开发者写一些复杂的代码。Qt提供了对应于这两种用于读取、操作和编写XML的实现类,分别是QDomDocument类和QXmlStreamReader类,由于在项目中涉及的文件不大,因此我们选用QDomDocument类来处理
2017-07-22 15:12:15 229
原创 在Qt对话框类的构造函数中 退出程序
方法:QTimer::singleShot(0,qApp,SLOT(quit()));此方法经常用于登陆窗口返回取消时,因为登陆窗口一般是在主窗口构造函数中调用的,关闭登陆窗口后,也要退出程序。
2017-07-20 16:22:08 1112
原创 在qdialog中实现增加toolbar
MyDialog::MyDialog() : QDialog(){ QMainWindow * mainWindow = new QMainWindow(); // or your own class // inheriting QMainWindow QToolBar
2017-07-17 20:54:31 1839
原创 VS2008+QT添加UI后无法编译
1.在vs2008里想添加一个类,直接生成*.ui,*.h,*.cpp,但是添加的时候vs说无法添加,因为这不是一个qtaddinvs工程。2.在网上看到教程是添加一个ITEM,也就是只添加一个*.UI,然后编译生成ui_*.h,然后手动建cpp和h文件,再按照已有的类串起来,试了下可行,但是非常之麻烦,因为单独在vs添加UI文件右击就无法编译,需要按照其他的属性填上很多的命令和文件名称才能编
2017-05-11 15:33:44 841
广东电网公司智能一体化配电自动化终端数据通信技术要求
2017-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人