
QT
jigetage
这个作者很懒,什么都没留下…
展开
-
发射的信号不能启动槽函数的几点原因(未完待续中。。。)
1,一般情况下,是在槽函数所在类的构造函数中通过new的方式定义信号函数类的对象。原创 2016-07-27 00:29:25 · 921 阅读 · 0 评论 -
qt 开发资源集中贴
今天偶然看到一条关于Qt5.10发布的消息,发现Qt经历了诺基亚风波之后发展得依然良好,感到很欣慰。回头看上次关注Qt技术还是2011年,那时候用Qt4.7做一个小项目,对于一个写Win32界面和MFC的程序员来说,有种相见恨晚的感觉。如今时间已经过了近7年,又有桌面项目要做,当然首选Qt5。先收集一些资料,后面慢慢消化。【官网】官网:https://www.qt.io/下载:http://dow...转载 2018-04-30 00:49:39 · 295 阅读 · 0 评论 -
最简单的基于QWebEngineWidgets实现的c++ js混合开发
原文地址:点击打开链接背景:qt4到qt5.4一直采用qwebkit实现c++ js混合编程,到qt5.5之后引入了qwebenginewidgets和qwebchannel来代替qwebkit,从qt5.6之后开始,qwebkit就不再被支持了。Qt新版本使用QWebEngineView来展示html页面对QWebView不再进行维护了,QWebEngineView使用chromium内核将带来...原创 2018-07-09 12:06:15 · 3117 阅读 · 0 评论 -
QApplication QGuiApplication QCoreApplication 区别和联系
QCoreApplication、QGuiApplication、QApplication区别和联系:继承关系:QApplication <- QGuiApplication <- QCoreApplication <- QObject所处的Qt模块:QCoreApplication定义在core模块中,为应用程序提供了一个非gui的事件循环;QGuiApplic...原创 2018-12-07 16:52:37 · 8302 阅读 · 2 评论 -
如何设置Qt中的控件透明度
引入QGraphicsOpacityEffect类,设置QGraphicsOpacityEffect对象的透明度,然后将此透明度应用到控件上。需要包含的头文件:#include <QGraphicsOpacityEffect> 代码:... m_wgtVideo = new QWidget(this); QGraphicsOpacityEffect*...原创 2018-12-19 16:50:04 · 3686 阅读 · 0 评论 -
Qt如何设置某个区域透明
方法:重载paintEvent,在区域内重新绘制代码:void UIMainWindow::paintEvent(QPaintEvent* event) { QPainter p(this); p.setCompositionMode(QPainter::CompositionMode_Clear); int x = m_wgtVideo->x(); ...原创 2018-12-19 17:13:53 · 4387 阅读 · 4 评论 -
qt窗口从创建到显示先后经历的事件顺序
按照时间发展的顺序,分别为:eventFilter(event->type() == QEvent::Move) -> eventFilter(event->type() == QEvent::Resize) -> resizeEvent ->eventFilter(event->type() == QEvent::Show) -> pain...原创 2018-12-22 11:58:49 · 7419 阅读 · 1 评论 -
windows发布qt程序依赖库qtwindows qtcore qtwidgets等的终极解决方案
先给出答案:利用windeployqt.exe解决,windeployqt.exe的位置在qt的vs插件的bin目录下。原因:采用qt开发windows桌面程序,由于qt已经安装在了系统路径下,所以在开发的机器上是不会出现找不到依赖库问题的。但是,当我们打包之后,放到客户机上,客户是肯定不会为了用你的程序,去安装一个完整的qt,而且版本还需要和你开发时候使用的一模一样。所以,就需要我们...原创 2018-12-28 12:03:09 · 1351 阅读 · 0 评论 -
Qt程序如何实现不显示任务栏图标
setWindowFlags(Qt::Tool);上面一句即可。原创 2019-01-23 18:09:59 · 5121 阅读 · 4 评论 -
QMetaObject::connectSlotsByName(this);绑定信号-槽
在阅读obs-studio源码时候,发现好多槽函数并没有通过connect方法绑定到某个信号上,一直很疑惑。继续阅读源码才发现,是利用了Qt中通过约定信号槽命名的方式实现的绑定。即通过QMetaObject::connectSlotsByName(this);实现。官方文档中的解释如下:[static] void QMetaObject::connectSlotsByName(QObj...原创 2019-01-08 19:08:21 · 1213 阅读 · 0 评论 -
qt5.11如何设置窗口左上角图标和任务栏图标
默认的,当设置完左上角图标之后,任务栏也会自动使用该图标。设置左上角图标的方法为:setWindowIcon(QIcon(":/imageRes/logo.png"));注意:图片格式必须是.png,不能是.ico...原创 2019-01-24 16:25:26 · 2869 阅读 · 1 评论 -
操作UI控件的函数必须利用信号-槽触发
如果函数所实现的业务和UI有关,那么其必须运行在UI线程中,此时必须采用信号-槽的机制,使得要操作UI的槽函数,被系统自动运行在UI线程中。这种情况下,不可以在信号发射处,直接调用槽函数。如果在代码正确的情况下,出现发射信号后,槽函数不被触发的情况,很可能同时由于connect的第5个参数设置有问题。AutoConnection:根绝接收者和发出者是否在同一个线程,决定是DirectConnect...原创 2018-05-13 14:27:48 · 654 阅读 · 0 评论 -
qt 实现去掉标题栏之后(frameless)仍然可以拖动的对话框
movable-base-dialog.h#ifndef MOVABLE_BASE_DLG_H#define MOVABLE_BASE_DLG_H#include <QDialog>class QPoint;class QPaintEvent;class ZWWMovableDialog :public QDialog{ Q_OBJECTpublic: ...原创 2018-04-27 14:15:54 · 1162 阅读 · 0 评论 -
qt 如何将ui设计的好看的边框应用到对话框上
借助qss的border-image属性,比如border-image: url(":/pinballAppearance/images/pinballAppearance/promptBg.png"); 将如下图片设置为对话框的边框。如果图片中间是空的,那么只会应用到对话框的边框上;如果,中间是实的,那么可以认为此时也设置了背景。此时,有一个问题,就是此对话框下所有的控件,也会被添加上面的边框,...原创 2018-04-26 16:26:35 · 1590 阅读 · 0 评论 -
QT程序编译无错误,运行时出现访问地址冲突
基本上是由于没有在实现文件中定义UI文件的对象,就直接使用ui.setupUi(this);原创 2016-07-27 00:31:49 · 1655 阅读 · 0 评论 -
QWebView加载html,程序退出时提示内存泄漏
通过QWebView对象load html文件,显示界面。在退出时提示泄露,例如LEAK: 4 WebCoreNodeLEAK: 597 CachedResource等。对于泄露的CachedResource,可以采用pWebView->settings()->clearMemoryCaches()方法解决。对于泄露的WebCoreNode,尚未找到合适方法释放,但是找到了什么原因导致...原创 2018-03-16 00:06:31 · 1586 阅读 · 2 评论 -
qt设置渐变背景色
通过qt方式来设置 QLinearGradient linearGrad(QPointF(0, 0), QPointF(200, 200)); linearGrad.setColorAt(0, Qt::darkGreen); linearGrad.setColorAt(1, Qt::yellow); QBrush brush(linearGrad); item->se...原创 2018-04-08 11:03:39 · 9043 阅读 · 0 评论 -
不重载paint函数,设置qt对话框为圆角矩形
QBitmap bmp(this->size()); bmp.fill(); QPainter painter(&bmp); painter.setPen(Qt::NoPen); painter.setBrush(Qt::black); painter.setRenderHint(QPainter::Antialiasing); painter.drawRoundedRect(bm...原创 2018-04-09 14:30:14 · 383 阅读 · 0 评论 -
QT进行网络收发
qt自带的网路库可以实现网络收发,主要是三个类:QNetworkAccessManagerQNetworkRequestQNetworkReply原创 2018-04-02 15:29:21 · 726 阅读 · 0 评论 -
QAbstractItemModel 与 QItemDelegate关系
QAbstractListModel QAbstractTableModel 与 QItemDelegate关系首先强调一下,上面三点内容是为qt框架的model/view架构服务的。model是数据层,顾名思义存储的是数据,包括文字、图片等内容,主要包括QAbstractListModel QAbstractTableModel 。view是展示层,用户看到的就是view层,主要包括qlistv...原创 2018-04-13 18:43:10 · 2362 阅读 · 4 评论 -
QT实现对话框遮罩
开源一下自己写的QT对话框遮罩,功能:1,遮罩自动触发2,遮罩颜色、透明度、尺寸人为设置3,通过单例模式,调用简单、安全头文件maskwidget.h#ifndef MASKWIDGET_H#define MASKWIDGET_H#include <QWidget>class CMaskWidget : public QWidget{public: static CMa...原创 2018-04-04 16:41:08 · 2918 阅读 · 1 评论 -
QT窗口与Windows系统窗口之间关系和转换
如果你是通过qt开发windows应用程序,是否有下面这个想法呢?怎么样才能将windows下对窗口的操作应用在qt窗口上呢?下面给出方案:1,众所周知,windows窗口有一个hwnd,即句柄,可以通过句柄来指代窗口。qt对话框的winId()方法可以获取句柄。2,windows api中的HWND WINAPI FindWindow( _In_opt_ LPCTSTR lpClassNa...原创 2018-03-29 12:00:28 · 4115 阅读 · 0 评论 -
QT中如何在文字上描边
QLineEdit和QLabel控件不好操作,采用QTextEdit来代替。思路如下,构造QTextCharFormat对象,并将其合成到QTextEdit的文本中代码如下: //! 设置文本输入框无边框、背景透明、字体颜色和字体加粗,使得qtextedit和qlabel具有同样效果 setStyleSheet("border: none; background-color: transpare...原创 2018-03-29 17:19:49 · 4224 阅读 · 0 评论 -
qt如何在槽函数中获取发射信号的对象
很简单,QObject* sender = QObject::sender();sender就是发射信号的对象。有一个小意外,用了lambda表达式写槽函数,发现用这种方法获取到的sender是空,原因不明。改为slots声明的槽函数就正常了。...原创 2018-05-08 23:00:09 · 2877 阅读 · 1 评论 -
QString和std::string转换乱码的解决方法
std::string cstring;QString qstring;//从std::string 到QStringqstring = QString(QString::fromLocal8Bit(cstring.c_str()));//从QString 到 std::stringcstring = std::string((const char *)qstring.toLocal8...原创 2019-03-19 18:23:02 · 6278 阅读 · 4 评论