qt
dofaster
这个作者很懒,什么都没留下…
展开
-
Qt ini配置文件
我们在做项目的时候,经常需要用到ini配置文件来保存应用程序的一些设置信息,比如保存用户的的设置界面信息、窗口大小等。在这里我简单的学习了一下配置文件的使用,qt中有处理配置文件的类QSettings.对于配置文件的应用一般包含键值的增、删、改、查增、改:该函数当键不存在时添加,存在时直接覆盖void setValue(const QString &key, const QVari原创 2016-10-27 20:07:09 · 898 阅读 · 0 评论 -
QML ListView数据修改刷新问题
1.问题在QML的ListView控件,再填充数据之后,我们有时候还需要对model中的数据进行更改。可是,对model数据进行修改之后,ListView的数据并没有及时刷新出来。甚至有时候forceLayout()也没有作用。2.解决办法我们可以获取ListView对象的委托item,通过修改item的属性及时达到刷新的目的。例如QML如下:ListView { id: layer_...原创 2019-05-19 16:55:41 · 11979 阅读 · 1 评论 -
NSIS 基于QT的自定义安装界面
前端时间在做安装程序时,需要自定义安装界面代替传统的打包工具制作的安装界面。毕竟打包工具制作的界面定制麻烦也比较丑。我们可以使用第三方界面库写安装程序,再在NSIS脚本中调用即可。采用NSIS + QT 制作安装程序实际上就是使用QT制作安装程序,而NSIS仅仅将制作的安装程序打包成一个exe。1.核心NSIS脚本;这次是打包生成exe的路径OutFile ${TheOutFile}...原创 2019-03-17 13:44:57 · 7037 阅读 · 10 评论 -
QML ListView鼠标拖动交换两项的位置
QML中ListView实现鼠标点击拖动交换两个item的位置,实现如下效果:首先,重写ListView的move属性,如下代码所示:ListView { id: layer_list model: modelLayer delegate: delegateLayer interactive: false mov...原创 2019-02-18 19:33:59 · 1503 阅读 · 1 评论 -
QWindow重绘、避免闪烁
1.处理重绘事件的函数QWindow的重绘与QWidget重绘有点不一样,QWindow的没有提供PaintEvent相关的函数,这个时候可以重写下面的虚函数,在里面对Paint事件进行处理:[virtual protected] bool QWindow::event(QEvent *ev)2.重绘的Painter在QWindow中,获取一个QPainter对象可以通过QBacking...原创 2018-12-15 13:52:59 · 3328 阅读 · 2 评论 -
QML 窗口失去焦点、任务栏图标隐藏
1.窗口失去焦点隐藏对于ApplicationWindow使其失去焦点隐藏,通过以下即可:ApplicationWindow { id: root onActiveFocusItemChanged: { if (!activeFocusItem) { root.visible = false } }}2.关闭应用程...原创 2018-12-15 13:47:33 · 3558 阅读 · 1 评论 -
QML圆角图片
QML圆角图片可以使用OpacityMask来实现,具体可以查看Qt的文档“OpacityMask”,其中圆角图片实现如下:OpacityMask中的source表示你要显示的图片,maskSource表示将图片固定在此区域内显示。CircularImage.qmlimport QtQuick 2.6import QtGraphicalEffects 1.0Rectangle { ...原创 2018-10-30 19:22:16 · 2575 阅读 · 0 评论 -
QML学习例子一
心血来潮,在公司学习了几天的QML,于是乎周末回家后写个小例子练练手,于是就有了下面的QML页面.该页面还算比较简单,实现了滚动切换,希望对初学者学习QML有点帮助。运行:在QT的bin目录下找到qml.exe,运行以下命令即可:qml.exe MainWndView.qml代码以及资源链接:https://download.csdn.net/download/llmys/1073556...原创 2018-10-21 21:34:10 · 2448 阅读 · 0 评论 -
Qt 绘制文本、直线、矩形、椭圆、多边形
绘制文本、直线、矩形、椭圆、多边形小例子void MainWindow::paintEvent(QPaintEvent *event){ Q_UNUSED(event) QRect rectWnd = this->rect(); // 绘制文字 QPainter painter(this); // 设置画笔颜色 painter.setP...原创 2018-07-08 11:48:51 · 7211 阅读 · 0 评论 -
Qt仿QQ界面,主界面、聊天界面、表情界面
利用Qt仿的QQ的界面如下:原创 2017-06-09 20:24:53 · 7786 阅读 · 49 评论 -
Qt 自定义日历控件
由于需要用到Qt中的日历控件一次可以选中多个日期这个功能,但是经过翻看QCalendar的帮助文档,发现选中模式就两种:一、不选中;二、选中一个;没有我需要的。经过询问群里面的大神,有的告诉我继承一个QCalendar自己去实现相关的功能,由于我接触Qt不深,也不知道怎么去实现这个功能,于是打算自己用QLabel去写一个,说干就干。首先我需要了解的计算某天是星期几的算法,以及计算某一个月有多少天。计原创 2016-12-15 17:34:36 · 4787 阅读 · 0 评论 -
QListWidget制作聊天列表
参考此博客自己做了一个聊天的列表:http://blog.csdn.net/mingzznet/article/details/9813205 用QListWidget实现类似于QQ和微信的聊天列表,只要是通过将QListWidgetItem作为每一个分组的项和成员项。 通过QListWdiget中setRowHidden方法来设置一个分组成员的收放。效果图如下:原创 2016-12-15 13:57:15 · 2167 阅读 · 0 评论 -
Qt 获取本机的IP地址、Mac地址
获取IP地址QString getHostIpAddress(){ QString strIpAddress; QList ipAddressesList = QNetworkInterface::allAddresses(); // 获取第一个本主机的IPv4地址 int nListSize = ipAddressesList.size(); for原创 2016-10-19 17:31:08 · 23768 阅读 · 1 评论 -
QML TEXT内容上下、左右效果实现
1.效果想要使用QML实现滚动Text的效果,即“能够逐条上下滚动,当每条内容超过Text显示的长度时,鼠标移至上去时,能够左右滚动”;2.实现思路上下滚动:实际上使用ListView控件,只让该控件显示一行,每次更改当前的item即可,然后在更换当前item的时候添加动画即可。当移至最后一行时,可以先将第一行移至最后一行,再更换当前item,这样就避免了移到最后出现空白的情况。左右移...原创 2019-05-14 20:41:55 · 3258 阅读 · 0 评论