QT
fxbjye
c++软件开发者
展开
-
QSettings用法总结
用户对应用程序经常有这样的要求:要求它能记住它的settings,比如窗口大小,位置,一些别的设置,还有一个经常用的,就是recent files,等等这些都可以通过QSettings来实现。这些settings一般都是存在系统里的,比如windows一般都写在系统注册表或者写INI文件,mac系统一般都在XML文件里,那么按照一般的标准来说,许多应用程序是用INI文件来实现的。而QSettings就是提供了一种方便的方法来存储和恢复应用程序的settings。当我们创建一个Qsettings的对象原创 2021-07-06 14:58:37 · 475 阅读 · 0 评论 -
Qt之sql数据库系列操作
1)工程设置:QT += sql2)创建或打开数据库。 if(QSqlDatabase::contains("qt_sql_default_connection")) { database = QSqlDatabase::database("qt_sql_default_connection"); } else { QString path = QApplication::applicationDirPath();原创 2021-07-06 14:37:48 · 552 阅读 · 0 评论 -
QT 快捷键设置
我做了一个登录按键的快捷键:btnLogin = new QPushButton(QStringLiteral("登录"));btnLogin->setObjectName("btnLogin");connect(btnLogin, SIGNAL(clicked()), SLOT(on_actionLogin()));QShortcut *keyReturn = new Q...原创 2018-01-26 11:09:33 · 396 阅读 · 0 评论 -
QThread用法:启动与退出
QThread 有两种用法:一,运用 QObject::moveToThread(QThread *targetThread)将功能类移入到线程QThread中例子如下:class Worker : public QObject{//创建普通的对象类 Q_OBJECT public slots: void doWork(const QString ...原创 2018-11-07 09:13:19 · 11044 阅读 · 0 评论 -
VS2015 不支持 vs-addin
由于vs2015以后的版本不再支持addin插件,所以QT VS-addin就没用了,vs提供了新的替代插件Qtpackage,https://marketplace.visualstudio.com/items?itemName=havendv.QtPackage原创 2018-11-14 16:27:32 · 1293 阅读 · 0 评论 -
QT 调用OCX控件
近期做一个项目,需要调用Foxit的PDF OCX控件,现记录一下过程。首先,被调用的OCX控件必须被注册,注册过程请参考https://mp.csdn.net/postedit/85101655。接着进行如下步骤:一,获取OCX 的uuid: 1)找到oleview.exe,以管理员身份打开。oleview..exe一般路径C:\Program Files (x86)\W...原创 2018-12-19 17:40:14 · 4424 阅读 · 0 评论 -
关于QT中奇数个汉字出现newline in constant的错误
前面写了一篇关于QT中使用汉字的博客以为对汉字的使用了如指掌, 没想到今天把字符串一换, 换成偶数个没问题, 换成奇数个汉字, 哇擦, 报一个错误newline in constant, 瞬间意识到自己还是太年轻.好了, 开始正题先说下 在QT Creator可能出现的乱码的情况:1. 打开文件时, 汉字就是乱码, 这种情况是因为你向文件写汉字的时候,文件是一套编码(比如GB2312)...转载 2019-02-26 16:09:44 · 1041 阅读 · 0 评论 -
QPrinter QPrintDialog QPrintPreviewDialog 打印PDF文件
近期做了一个项目,这个项目需要调用QT 的通用接口实现跨平台打印pdf文件,遇到了一些坑特此纪录一下。1, QPrinter printer(QPrinter::ScreenResolution);//构造打印对象 printer.setPageSize(QPrinter::A4);//页面设置 printer.setOrientation(QPrinter::Port...原创 2019-03-29 14:16:47 · 3527 阅读 · 0 评论 -
QDialog 去掉标题栏问号按钮
Qt::WindowFlags flags=Qt::Dialog;flags |=Qt::WindowCloseButtonHint;setWindowFlags(flags);原创 2019-04-09 16:04:17 · 7148 阅读 · 0 评论 -
OCX skipping event interface _XXX_AXEvents 事件处理
最近做签章客户端的项目,需要调用外部提供的ocx插件,界面框架为QT。ocx控件QT进行调用没有问题 ,在skipping event interface _XXX_AXEvents 遇到了拦路虎,怎么处理能接收到ocx发出的一些信号呢?因为我有c#调用OCX的源码,可以看到事件的接口参数,QT 的消息机制是信号和槽,所以我就在想,在QT框架内,事件就相当于信号,我只需要根据参数 实现相...原创 2019-07-05 10:44:38 · 493 阅读 · 1 评论 -
QT 国际化
QT 实现国际化步骤:一,将要实现国际化的字符串tr()包裹,ex:二,在.pro添加相应的翻译文件:TRANSLATIONS += Resources/qm/zh.ts \ Resources/qm/en.ts三,点击“工具-》外部-》QT预言家-》更新翻译”,生成相应的en.ts和zh.ts四,编辑相应的zh.ts文件,ex:五,点击...原创 2019-07-19 15:06:08 · 196 阅读 · 0 评论 -
QPainter QPixmap 抗锯齿
在paintEvent(QPaintEvent *)实现函数里绘制图片出现边缘锯齿解决办法:pixmap.loadFromData(sealImage,sealImageLen);pixmap = pixmap.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);painter.setRenderHints(...原创 2019-07-19 15:16:55 · 4069 阅读 · 1 评论 -
Warning: The name 'layoutWidget' (QWidget) is already in use, defaulting to 'layoutWidget1'.
Warning: The name 'layoutWidget' (QWidget) is already in use, defaulting to 'layoutWidget1'.解决方案:用文本编辑器打开*.ui,查找'layoutWidget',重新命名为独一无二的名称。如<widget class="QWidget" name="layoutWidget1">...原创 2018-10-30 17:07:11 · 6068 阅读 · 0 评论 -
QT connet 槽函数 lamda表达式
我在做自定义标题栏窗体时,实现关闭,最小化按钮时应用的lamda表达式connect(ui.btnMinimum, &QPushButton::clicked, [=]() {showMinimized(); });connect(ui.btnClose, &QPushButton::clicked, [=]() {close(); });验证成功。...原创 2018-10-26 15:17:48 · 1156 阅读 · 0 评论 -
QT自定义标题栏之拖动窗体
1,定义两个成员变量 bool m_pressed; QPoint m_movePos;2,重写mousePressed,mouseMove,mouseReleasevoid mousePressEvent(QMouseEvent *event){ m_pressed = true; m_movePos = event->...原创 2018-10-26 15:04:15 · 895 阅读 · 1 评论 -
QSS 控件背景渐变色
1)QlineargradientsetStyleSheet("background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 rgba(255,0,0,255),stop:0.5 rgba(0,255,0,255),stop:1 rgba(0,0,255,255))");参数说明:pad/repeat:扩充样式(x1,...原创 2017-07-27 10:52:21 · 4600 阅读 · 0 评论 -
使用QMediaPlayer做播放器遇到的几个问题及解决方法
1,没有声音解决方法:将Qt库里的E:\5.6.0-64\5.6\msvc2013_64\plugins\mediaservice文件夹拷贝到可执行文件目录下2,有声音没有画面,原因:计算机本地没有相应的解码库解决方法:下载本地解码库安装就可以了,大家可以下载这个链接,测试有效。https://download.csdn.net/download/fxbjye/10296814...原创 2018-03-20 09:40:17 · 10420 阅读 · 1 评论 -
QMediaPlayer 例子
前几天做了一个项目,需要自己实现一个播放器播放点播视频,用的QMediaPalyer;一,准备:QVBoxLayout *vboxLayoutInterface = new QVBoxLayout();vboxLayoutInterface->setSpacing(0);vboxLayoutInterface->setContentsMargins(0, 0, 0, 0);...原创 2018-03-19 19:07:09 · 1265 阅读 · 0 评论 -
windos下QT实现usb热插拔检测
第一步:usb设备注册static const GUID GUID_DEVINTERFACE_LIST[] ={// GUID_DEVINTERFACE_USB_DEVICE{ 0xA5DCBF10, 0x6530, 0x11D2, { 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED } },// GUID_DEVINTERFACE_DIS...原创 2017-11-17 14:24:09 · 1573 阅读 · 0 评论 -
QT 发送http请求及处理
1)http请求数据组装及发送至服务端void XXXX::postMsg(QString url, QByteArray data){QNetworkRequest request;request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");QUrl u = QU...原创 2017-08-11 17:17:50 · 5702 阅读 · 0 评论 -
仿造QQ登陆框自定义密码输入框
MyClass::MyClass(QWidget *parent): QMainWindow(parent){ui.setupUi(this);ui.pushButton->setFixedSize(40, 30);ui.lineEdit->setFixedSize(100, 30);QHBoxLayout *hLayoutBox = new QHBoxLayout();...原创 2017-07-27 21:59:33 · 1204 阅读 · 0 评论 -
qt 读写文件
1)按行读取QString apppath = QApplication::applicationDirPath() + "/host.txt";// qDebug()<<"apppath = "<<apppath;QFile hostfile(apppath);if (hostfile.exists()){hostfile.open(QIODevice:...原创 2017-07-21 17:39:57 · 314 阅读 · 0 评论 -
qss 文件的使用和ID选择器
为了使代码更具阅读性,最近将setstysheet()的内容抽离出来,存成一个qss文件。现将一些注意点记录下来。1)qss文件内容分条:QDialog{background-image:url(:/login/images/sparrow-login/bk.png);}QLabel{font:75 14pt Microsoft YaHei;color:#00ff00;}QL...原创 2017-07-30 14:09:51 · 2931 阅读 · 0 评论 -
QT 自定义标题栏之windowFlags,任务栏图标实现窗体最小化
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint);1,Qt::FramelessWindowHint :窗体无边框2, Qt::WindowSystemMenuHint | Qt::W...原创 2018-10-26 14:59:26 · 1456 阅读 · 0 评论 -
QMessageBox::warning ok 确定
QMessageBox::warning(this,tr("tip"),tr("page has rotated,please recorver the angle"),tr("Ok"));QMessageBox::warning(this,tr("tip"),tr("page has rotated,please recorver the angle"),QStringLiteral("确定...原创 2019-07-19 15:22:32 · 1566 阅读 · 0 评论