QT
晨晨05
这个作者很懒,什么都没留下…
展开
-
以追加方式合并两个dat文件
QFile newfile(m_filename); for (QString filename : filelist) { QFile file(filename); qint32 filesize = file.size();//文件字节数 if (file.open(QIODevice::ReadOnly)) { char * s = NULL; int len = filesize; s = (char *)malloc(filesize + 1); mems.原创 2020-11-11 14:17:12 · 2006 阅读 · 0 评论 -
常见的QGraphicsItem 练习
各种item的介绍参考以下博客链接https://www.cnblogs.com/aiguona/p/10002255.htmlhttps://www.jianshu.com/p/7724fbd07b1a本文只是对以下的item做了练习的代码进行记录,未对其进行详细介绍1.QGraphicsSimpleTextItem//------------QGraphicsSim...原创 2020-03-12 11:36:35 · 1254 阅读 · 0 评论 -
QT 中文翻译
1. 在.pro文件中加入 TRANSLATIONS += app_zh_CN.ts2. 选择工具中的外部/语言家(更新翻译),生成.ts文件lupdate.exe XXX.pro -ts app_zh_CN.ts3. 把生成的.ts文件在QT语言家中进行翻译。lrelease.exe app_zh_CN.ts -qm app_zh_CN...原创 2020-03-05 10:26:23 · 883 阅读 · 0 评论 -
QSqlTableModel 操作探究
QSqlTableModel类为单个数据库表提供了一个可编辑的数据模型。QSqlTableModel是一个从单个表读取和写入数据库记录的高级接口。它构建在较低级别的QSqlQuery之上,并且可以用来提供数据给诸如QTableView的视图类(以查看数据)。1.在表格中查看QSqlite数据库中的数据例1:初始化实现一个表格;使用数据库中的哪个表格等信息在drawingTable中实现...原创 2020-02-25 14:55:43 · 1505 阅读 · 0 评论 -
QT SQLite数据库的操作
1.作用:QSqlQuery类提供了一种执行和操作SQL语句的方法2.头文件 Header: #include <QSqlQuery> qmake: QT += sql .pro文件中需添加 3.QSqlDatabaseQSqlDatabase类提供了一个接口,用于通过连接访问数据。QSq...原创 2020-02-24 15:48:17 · 557 阅读 · 0 评论 -
QDom 练习源码
#include "mainwindow.h"#include <QDomDocument>#include <QFile>#include <QTextStream>#include <QDebug>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){...原创 2020-02-18 11:32:07 · 321 阅读 · 0 评论 -
QT 之DOM方式解析XML
DOM方式解析XML一、DOM简介1、DOM简介DOM是Document Object Model的简写,即XML文档对象模型,是由W3C提出的一种处理XML文档的标准接口。DOM 一次性读入整个XML文档,在内存中构造为一棵树(DOM树)将XML文件表示成一棵树,便于随机访问其中的节点,但消耗内存相对多一些。能够在这棵树上进行导航,比如移动到下一节点或者返回上一节...转载 2020-02-18 11:17:32 · 2732 阅读 · 0 评论 -
Qt窗口屏幕居中显示(有专门的QDesktopWidget,先计算后显示)
窗口的屏幕居中显示问题,在各开发工具中原理相同,首先使用特定的方法得到显示屏幕的宽度和高度,再根据窗口本身的宽度和高度计算出窗口的左上角坐标位置. Qt中可以采用两种方法达到窗口的屏幕居中显示:方法一: 显示前先计算出窗口显示位子,并移到对应位子后再显示窗口int main(int argc, char *argv[]){ QTextCodec::setCodecForTr(QTextC...转载 2018-02-27 16:08:39 · 387 阅读 · 0 评论 -
String和QString之间的转化
String和QString之间的转化数据结构课程设计中,用Qt玩图形化,经常因为QString和string的转化出现问题,而出现一些莫名其妙的错误。 垃圾百度找了半天没有解决方案,多亏了成都-贱贱O_o哒大神的相助。(适用于QT5)QString qstr;string str;str = qstr.toStdString();qstr = QString::fromStdString(...转载 2018-02-28 14:24:11 · 44987 阅读 · 7 评论 -
lua与C/C++的相互调用(一)
今天刚刚接触lua,c/c++程序怎么调用lua呢?配置:1.下载lua源码 http://www.lua.org/download.html 2.vs 2015 新建一个工程,名为lua。选择C++ WIN32空项目,应用程序类型选择静态库。3.右击头文件,选择添加现有项,将下载好的lua源码中的.h添加到头文件中,.hpp除外4.右击源文件,选择添加现有项,将下载好的lua源码中的.c文件...原创 2018-03-17 17:29:15 · 1224 阅读 · 1 评论 -
Linux下QT环境配置
在Linux下使用 qt-opensource-linux-x86-5.3.1.run 安装,注意要在管理员权限下环境变量配置:这里以我安装的路径(/opt/Qt5.3.1/5.3/gcc_64)为例:注:export可以新增,修改或删除一个环境变量centos 下是/etc/bashrc ubuntu下是~/.bashrc1. vim /etc/bashrc 在 /etc/bas...转载 2019-02-23 14:23:15 · 1361 阅读 · 0 评论 -
qt中获取文件路径和文件名
qt中获取文件路径和文件名QString file_full, file_name, file_path; QFileInfo fi; file_full = QFileDialog::getOpenFileName(this); fi = QFileInfo(file_full); file_name = fi.fileName(); file_path = fi.absolu...转载 2018-02-27 16:07:22 · 2586 阅读 · 0 评论 -
Qt之右键菜单
(四)Qt之右键菜单1、右键菜单创建和显示作为一种交互性强、使用方便的右键菜单在程序中是非常常用的,在Qt中可以轻松的实现。QMenu menu; //添加菜单项,指定图标、名称、响应函数menu.addAction(QIcon("1.png"), QStringLiteral("添加"),this,SLOT(OnBscGroupRightAction())); //在鼠标位置显示menu转载 2018-01-19 13:16:56 · 297 阅读 · 0 评论 -
在QTavleView中添加QLineEdit(用正则表达式校验输入的IP地址)
在QTableView中添加QLineEdit,并且该QLineEdit是需要填入IP地址,因此输入的数据必须遵循IP地址的规则。这时可以使用QT中的委托。委托的一篇文章http://blog.csdn.net/hello_world_lvlcoder/article/details/59478712QLineEdit *editor = new QLineEdit(p原创 2018-01-27 15:21:35 · 1205 阅读 · 0 评论 -
委托的一篇文章
http://blog.sina.com.cn/s/blog_e701da790102wswe.html原创 2018-01-27 14:03:52 · 174 阅读 · 0 评论 -
QLineEdit的setInputMask和正则表达式冲突
QLineEdit的setInputMask和正则表达式冲突1.疑问:大家好,我想做个IP控件,看到很多个,感觉都不是很理想。就想用下面的形式来做:QRegExp regExp("^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])...$"); ipEdit->setValidator(new QRegExpValidator(regExp, this转载 2018-01-27 14:03:01 · 1408 阅读 · 0 评论 -
commboBox 委托
qt中的委托-简单的应用http://blog.csdn.net/lucklydog_001/article/details/51606064转载 2018-02-02 11:13:25 · 252 阅读 · 0 评论 -
QWizard
1.QWizard 如何在页面中间添加新的一页?QWizard 假设目前已经添加3页,如何在满足条件时在最后一页前添加页面?enum{ FIRST_PAGE,//0 SECOND_PAGE,//1 THIRD_PAGE,//2 };addPage(m_pDevInfoPage);//第0页addPage(m_pCheckFilePage);//第1页addPage(m_pEndPage);//...原创 2018-03-14 14:07:51 · 1017 阅读 · 0 评论 -
保存文件以及打开保存的文件夹
//选择保存路径 QFileDialog *fileDialog = new QFileDialog(this); fileDialog->setFileMode(QFileDialog::Directory); fileDialog->setWindowTitle(tr("Save As"));//设置文件保存对话框的标题 fileDialog->setFileMode(QF...原创 2018-04-08 10:30:11 · 533 阅读 · 0 评论 -
QT5 一个问题
QT5 一个问题今天遇到一个问题,如下图所示:原因是:有未实现的函数原创 2017-01-17 20:34:17 · 368 阅读 · 0 评论 -
Qt——正则表达式(转)
Qt——正则表达式在项目中经常会遇到对字符串进行操作的情况,我们可以直接使用QString的一些函数,但QT提供了一个更加强大的类——QRegExp,使用正则表达式来操作字符串。先说说我最近遇到的几个问题:1.对输入框LineEdit中的输入内容加以限制,比如只能输入数字,并且最多5位数(因为int类型不限制位数会导致溢出问题);2.检查输入是否正确,比如判断是否是1-999...转载 2019-05-30 19:23:08 · 454 阅读 · 0 评论 -
QLineEdit 设置提示符 setPlaceholderText
QWidget* SubNumberDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const{ QLineEdit *editor = new QLineEdit(parent); editor-&g...原创 2019-04-11 15:51:06 · 1602 阅读 · 0 评论 -
委托QComboBox 设置tooltip
QWidget *IEDnumberDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const{ static QStringList usStates; if (usStates.isEmpt...原创 2019-04-11 15:49:56 · 2043 阅读 · 1 评论 -
QTableview IP地址委托
QString ipRange = "(([ 0]+)|([ 0]*[0-9] *)|([0-9][0-9] )|([ 0][0-9][0-9])|(1[0-9][0-9])|([2][0-4][0-9])|(25[0-5]))";// You may want to use QRegularExpression for new code with Qt 5 (not mandatory)....转载 2018-12-16 17:02:07 · 219 阅读 · 0 评论 -
LIBS += 存在多个,且多个里有上下级关系
编写pro文件时遇到的两个问题:1.第一个是库设定好之后,qmake 一下,到vs中的工程-》属性-》链接-》输入-》附加依赖项 查看是否正确 发现的结果是 ptliec61850server.lib 不在目录 /lib/debug/ptliec61850server下而是在/lib下解决方法:交换第一个与第二个LIBS即LIBS += -L"../../../lib/debug/ptliec6...原创 2018-05-17 17:45:06 · 3514 阅读 · 0 评论 -
Qmake技巧
Qmake技巧 一、判断主机是32位还是64位:contains(QMAKE_HOST.arch, x86):{QMAKE_LFLAGS *= /MACHINE:X86}contains(QMAKE_HOST.arch, x86_64):{QMAKE_LFLAGS *= /MACHINE:X64}二、打印变量的值message($$QMAKE_CXXFLAGS)三、判断当前的Qt是动态版本转载 2018-01-18 09:59:09 · 2886 阅读 · 0 评论 -
qmake
一、qmake 介绍qt creator 中的.pro文件里面的内容,通过qmake 来生成一个Makefile文件,来决定工程的一些属性与特性1. 源文件与头文件SOURECS +=hello.cpp\UI/testdialog.cpp\main.cppHEADERS +=hello.h\UI/testdialog.cppFORMS +=widget.ui2. 目标名字自动被设成与项目名相同转载 2018-01-18 09:31:38 · 1185 阅读 · 0 评论 -
QT5 在登录界面时密码等为空时,让光标在密码框不停闪烁
QT5 在登录界面时密码等为空时,让光标在密码框不停闪烁解决方法:获取焦点代码如下:if (usrPwd == "")//密码为空{m_pPasswdLineEdit->setEnabled(true);m_pPasswdLineEdit->setFocus();return;}原创 2017-01-21 10:39:03 · 1033 阅读 · 0 评论 -
QT5 QTreeview显示问题
QT5 QTreeview显示问题昨天写了一个treewidget,怎么也不在mainwidow中显示。原因:没有将QTreeWidget添加到mainwidow中。解决方法:将QTreeWidget添加到一个具有布局的widget中,再将该widget添加到一个QDockWidget中(QDockWidget在mainwindow中)。代码如下: m_pDockWidget原创 2017-01-21 10:26:59 · 3040 阅读 · 1 评论 -
QT5 添加菜单栏
QT5 添加菜单栏在创建一个widget后想添加一个菜单栏(用代码的方法添加),并在菜单栏上添加菜单。那么首先要创建一个菜单栏QMenu,然后再添加菜单QAction。代码如下: QMenu *m_pFileMenu;m_pFileMenu = menuBar()->addMenu(QString::fromLocal8Bit("文件"));//menuBar()在ma原创 2017-01-21 09:53:28 · 4043 阅读 · 1 评论 -
QT5 将QDocWidget的上边框去掉
QT5 将QDocWidget的上边框去掉当使用QDocWidget时,会出现一个黑色边框,如下图所示:若想去掉这个黑色边框,则需要采取以下方法:这个黑色边框看起来是一个边框,实际上是一个widget,所以想办法删除它。解决方法:先获取到这个widget,这个widget叫做titleBarWidget。然后,用一个空的widget来取代它最后删除这个黑色的ti原创 2017-01-20 17:55:43 · 3988 阅读 · 0 评论 -
QT5 标准字体对话框
QT5 标准字体对话框功能:点击字体标准对话框实例按钮后选择字体,实现选择不同字体后,lineEdit中的字体变成选择的字体。如下图所示:设置一个槽函数:showFont()的实现如下所示:void Dialog::showFont(){ bool ok; QFont f = QFontDialog::getFont(&ok);//选原创 2017-01-13 10:06:12 · 465 阅读 · 0 评论 -
QT5基本对话框 标准颜色对话框
QT5基本对话框 标准颜色对话框实现的效果如下图所示:新建一个Qt Widget Application,项目名为:myDialog,基类选择QDialog,类名保持Dialog不变,取消“创建界面”复选框的选中状态。创建步骤:1)在Dialog.h中添加private成员变量。//设置一个pushbuttonQPushBtn *colorBtn;//设置一个颜色原创 2016-12-23 16:26:53 · 2683 阅读 · 0 评论 -
QT5 标准文件对话框
QT5 标准文件对话框功能:通过点击按钮,获取固定后缀的文件的路径,将该路径显示在lineEdit中。界面如下图所示:当点击该按钮时出现如下图所示的对话框:原创 2017-01-12 20:29:43 · 1704 阅读 · 1 评论 -
QT5 解决中文乱码问题
QT5 解决中文乱码问题1.使用tr("中文");2.使用 QString::fromLocal8Bit(""); 例如:设置窗口标题,按钮标题等使用本方法记录下来,待总结。。。原创 2017-01-12 20:07:48 · 282 阅读 · 0 评论 -
QT5 添加槽函数找不到问题
QT5 添加槽函数找不到问题QT5 中设置信号和槽函数之后,找不到槽函数也就导致当信号发出之后槽函数接收不到信号。原因是没有槽函数的支持宏。解决方法:在类定义中添加Q_OBJECT添加后用vs编译,则编译不通过,类似于下面的错误 1>LoginDlg.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMe原创 2017-01-17 10:39:52 · 7142 阅读 · 0 评论 -
监听并处理数据 实现手机客户端与服务器端的通信
监听数据使用C++开发,目的是实现HTTP服务中监听功能。////////以下介绍chttp知识转载/////////////1.CHTTPServer对象CHTTPServer对象代表了整个HTTP服务器在内存中的存在,负责创建完成端口模型,创建所需的线程,监控完成端口事件并且维持URL和服务器上的真实文件的对应关系.除了维护网络模块外,CHTTPServer对象还要原创 2016-12-26 14:46:52 · 1534 阅读 · 0 评论 -
QT遇到问题 写错误
Qt5 开发过程中遇到这样的问题,如下所示:0x0000000076E3EF39 (ntdll.dll) (dmssvr_d.exe 中)处的第一机会异常: 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突。0x0000000076E3EF39 (ntdll.dll) (dmssvr_d.exe 中)处有未经处理的异常: 0xC00000原创 2016-12-15 14:14:37 · 2387 阅读 · 0 评论 -
QT开发中遇到的问题 连接问题
QT5 开发中,出现.obj连接问题,在本项目中问题1:相互引用引起了.obj问题。例如:应用程序(或者动态库)A,引用了动态库B,而动态库B又想要从应用程序(动态库)A中获取一些值,那么这样子会导致相互引用,或者引用不当问题,即引用的不是动态库。这样一旦在程序中调用时就会报错,报错为.obj 无法解析的外部符号。。。 解决方法:想办法破坏相互调用问题2:未引用动态库,找不到动态原创 2016-12-15 13:48:58 · 372 阅读 · 0 评论 -
QT Process(1)
类 QDesktopServices 提供的方法 访问 常用的桌面 服务 , 如 浏览 器 、 播放器、 电子邮件客户端 、 我们 使用 QDesktopServices :: openUrl(url) ,可以根据指定的url 打开Web 浏览 器 , 并返回 结果,如果 成功返回true ,否则 返回false。相应的可以打开文件(夹),可执行程序等! 如果想要启动其他应用程序使用转载 2017-08-17 16:19:51 · 368 阅读 · 0 评论