QT
文章平均质量分 50
炫彩灵感
科技改变世界,极客改变生活。
展开
-
自学QT之QT编程中QList类的removeAt方法记录
#include #include #include int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QList mylist; for(int i=0;i<10;i++) { mylist.append(i+88); } mylist.re原创 2015-08-23 12:59:53 · 3665 阅读 · 0 评论 -
自学Q之qml实现qq界面动画效果
代码来自群友@加速代码实现原理主要利用动画属性进行绘制。import QtQuick 2.3import QtQuick.Window 2.2Window { id:mainwindow visible: true width: 400 height: 300 flags: Qt.FramelessWindowHint|Qt.WindowSys原创 2016-01-21 11:31:04 · 3546 阅读 · 0 评论 -
自学QT之代理Delegate
createEditorsetEditorDatasetModelData这三个函数是要用到的函数。然而按F1居然不能跳转到帮助文档,这算不算bug。下面这段代码是要实现在一个表格中添加spin控件spinDelegate头文件:#ifndef SPINBOXDELEGATE_H#define SPINBOXDELEGATE_H#include #include原创 2015-12-20 14:26:08 · 3862 阅读 · 0 评论 -
自学QT之Qt cteator快捷键
网友给的:多行注释模式 Ctrl+ / 激活欢迎模式Ctrl + 1激活编辑模式Ctrl + 2激活调试模式Ctrl + 3原创 2016-01-22 15:11:01 · 1190 阅读 · 0 评论 -
自学QT之常量中有换行符错误的解决办法
说来惭愧,好多群友问这个问题,因为我用的minGW编译器,所以这个问题对我来说是不存在,后来终于想尝试用下vs版的qt了。好了不多说,上代码:就这一句话,直接报错说常量中有换行符,我滴天,其实呢,这个是编译器作怪,vs版本的编译器不认汉字!坑爹吧……修改一下设置:然后重新编译,正常情况下是可以的哦。但是显然不可以,这里是QT的一个bug,你需要找到汉字,随便找几个就行,重新原创 2015-12-21 22:28:49 · 28697 阅读 · 11 评论 -
自学QT之不规则窗口和不规则按钮(亲测)
看到很多软件,尤其是游戏软件,有一些炫酷的界面,一直在想,他们究竟是怎么做到的呢?那明明是一张图片啊。天下有我大QT做不到的事情吗?当然没有!现在开始:请准备一张带有透明区域的png图片哦。首先来看自定义不规则窗口的代码吧:Widget::Widget(QWidget *parent) : QWidget(parent){ this->setWindowFla原创 2016-01-22 18:40:00 · 16124 阅读 · 5 评论 -
自学QT之QWidget设置setstylesheet无效的问题
这个问题在mainwindow里是没有的哦,但是单独widget时候问题就出现了。当然,QT也提供了解决办法的呢。之前搜索了一下,发现追踪溯源还是来自QT的帮助手册。先上代码吧:void Widget::paintEvent(QPaintEvent *e){ QStyleOption opt; opt.initFrom(this); QPainter p(th原创 2016-01-22 20:49:23 · 7478 阅读 · 1 评论 -
自学QT之获取系统的标题栏图标
有些时候我们会创建一个无标题栏的窗口,那么就需要自己来设置最小化、最大化和关闭按钮,并设置图标。可是PS功底很烂怎么办?再说了图标大小还有调整吧,没关系,大QT什么都可以做到!首先呢,我们给他添加的按钮,不能是普通的pushbutton哦,要用toolbutton。然后代码是这个样子滴:#include "mainwindow.h"#include "ui_mainwindow.原创 2016-01-25 21:36:40 · 2644 阅读 · 0 评论 -
自学QT之创建json
在此之前有必要看看json的定义,不然会有些糊涂。json百度百科地址:http://baike.baidu.com/link?url=8dvCpRD3SWAljk42jMguD2LGi6c902QID48b6vwC0HtS19t4M5CUepwC6_2Vwt-4Cjxu37ox-Cs7ErXGTOEDHKQT提供了类来支持json操作。 //对象形式 QJsonObject原创 2016-01-10 20:50:12 · 1804 阅读 · 0 评论 -
自学QT之QSetting的使用
在产品使用过程中,有些用户有特定的习惯。比如窗口大小是的大小,文件打开的方式等等。因此我们需要有一个文件的原创 2016-01-20 15:21:58 · 3326 阅读 · 0 评论 -
Qt 中设置窗体透明度的几种方法
1、设置窗体的背景色在构造函数里添加代码,需要添加头文件qpalette或qgui QPalette pal = palette(); pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00)); setPalette(pal);通过设置窗体的背景色来实现,将背景色设置为全透。效果:窗口整体透明,但窗口转载 2016-01-01 16:43:48 · 7876 阅读 · 1 评论 -
自学QT之Qt 4迁移至Qt 5
原文地址:http://www.kdab.com/porting-from-qt-4-to-qt-5/中文翻译地址:http://blog.qt.io/cn/2012/07/09/porting-from-qt-4-to-qt-5/将Qt 4代码迁移到Qt 5还是比较简单的。实际上,在Qt 5开发过程中就已经注意了与Qt 4代码保持兼容性。与Qt 3到Qt 4的迁移不同,Q转载 2016-01-01 16:30:39 · 1793 阅读 · 0 评论 -
自学QT之QT编程中出现collect2.exe:-1: error: error: ld returned 1 exit status的解决办法
初学QT,很多东西不明白,直接报了个错collect2.exe:-1: error: error: ld returned 1 exit status解决办法很简单:QT += core gui network分享下,希望有同样问题的朋友可以快速解决。原创 2015-08-18 13:08:27 · 19618 阅读 · 2 评论 -
自学QT之static_cast<int>
好吧,其实这个不算QT的内容,是一个c++语法。static_castT>exp其实就是把exp的部分转化成T类型。比如这句:brushStytleBox->addItem(tr("Dense7"),static_castint>(Qt::Dense7Pattern));因为后面的Qt::Dense7Pattern并不是一个int类型,static_cast承担了这个转换职责。原创 2015-09-22 19:38:25 · 5218 阅读 · 0 评论 -
自学QT之图片操作(缩放、平移、扭曲和旋转等)
首先呢,我是把图片画在widget上面的,代码自然也要写在paintevent里面。注意,添加图片时候要记得执行qmake一下,不然图片不能正常执行哦。1.首先是图片的显示:void Widget::paintEvent(QPaintEvent *even){ QPixmap pix(":/new/prefix1/201409091359143092.jpg");原创 2016-01-17 23:34:03 · 19538 阅读 · 1 评论 -
自学QT之qFind的用法
#include #include #include int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QList list; list<<"qwq"<<"ewrw"<<"e"; QList::const_iterator iter=qFind(list.begin(),lis原创 2015-08-26 16:32:28 · 2254 阅读 · 0 评论 -
自学QT之QMutableListIterator
这是一个可变的迭代器,它可以改变底层的数据而普通的迭代器是不可以的。#include #include #include int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QList mylist; for(int i=0;i<10;i++) { mylist.原创 2015-08-24 10:04:25 · 1744 阅读 · 0 评论 -
自学QT之进度条
这个程序有几个bug,估计出书的时候也没考虑吧,我是新手,一时间也找不到好的思路。去一个群里问了,结果遇到装逼帝,自从这货来了,群里问问题都没人回答了,他总是第一个出来装逼,然后还不回答你,唉,比我们这些新手多学几天罢了,看到装逼帝真心难受。老规矩,头文件:#ifndef DIALOG_H#define DIALOG_H#include #include #include #i原创 2015-09-12 20:54:13 · 535 阅读 · 0 评论 -
自学QT之菜单按钮(按钮菜单)即带有菜单的按钮
这个看起来很高大上呀,其实就是简单的几行代码而已。只要把菜单给按钮就行了,要知道按钮是有setmenu()方法的哦。代码如下:QPushButton *mybtn=new QPushButton("这是一个按钮"); QMenu *mymenu=new QMenu; QAction *click=new QAction("菜单按钮",this); mymenu-原创 2015-12-30 21:18:03 · 11030 阅读 · 3 评论 -
自学QT之实现程序启动画面
现在好多软件都有,尤其是大型软件,他们要加载的东西太多,因此需要的事件较长,而又不希望给用户产生成为好像没有响应的情况,因此也就需要程序启动画面来实现。当然了,用widget要比这个丰富很多,不过代码量也响应增加,QT提供了一个类可以简单的进行处理。int main(int argc, char *argv[]){ QApplication a(argc, argv);原创 2016-01-28 11:33:37 · 3057 阅读 · 0 评论 -
自学QT之建立子项目
大型项目在写的时候往往都是很多有很多子项目,自然QT creator也是支持的。首先是建立一个能够支持子项目的父项目。一、新建项目选择其他项目——子项目目录然后一直无脑点击下一步就好了。二、在这个项目上右击,选择子项目然后就是常见的建立项目的界面了,选择你要建立的类型只是界面效果不一样,其他还是一样的单击下一步继续下一步好原创 2016-01-28 12:20:36 · 5772 阅读 · 1 评论 -
自学QT之QMovie播放gif(播放、暂停和继续)
有些时候我们需要展示一个gif图片,可是用了普通的方法发现不行。啊哦,这就是生活中的理解和程序猿的区别了,程序猿眼中的gif不是图片,而是一个movie。QT提供了QMovie来进行操作。演示示例是通过两个按钮来进行操控,一个负责暂停一个负责进行继续播放。首先要在头文件中声明这个类,一定不要忘记的: QMovie*m;具体的实现方法:MainWindow::MainWi原创 2016-01-28 20:10:59 · 15567 阅读 · 2 评论 -
QLCDNumber使用
QLCDNumber使用QLCDNumber控件用于显示一个带有类似液晶显示屏效果的数字。它可以显示几乎任何尺寸的数字,同时支持显示十进制,十六进制,八进制或二进制数。使用display()槽可以容易地连接到数据源,它被重写可以接收五种参数类型。也有一些槽函数可以修改进制的形式,比如setModel(),还可以用setSmallDecimalPoint()设置小数点。当QLCDNu原创 2017-08-22 20:57:30 · 22734 阅读 · 0 评论 -
QListWidget的使用
QListWidgetQListWidget类提供了一个基于item的列表小部件。QListWidget是一个方便的类,它提供了类似于QlistView所具有的列表视图,但是具有增加和删除的功能。QListWidget使用内部模型来管理列表中的每个QListWidgetItem。想要有更灵活的列表视图,请使用具有标准模型的QListView类。QlistWidget有两种方法追加数据,一种原创 2017-08-22 21:00:46 · 25635 阅读 · 2 评论 -
Qt编程公众号二维码
Qt编程公众号二维码原创 2017-08-22 21:05:50 · 755 阅读 · 0 评论 -
Qt数据库操作报错not positioned on a valid record
今天的文章就一句话:not positioned on a valid record这个翻译过来很简单,就是没有定位在有效的数据记录上。原因也很简单,就是因为在执行sql操作时候,数据指针是停留在数据之前的,因此,我们需要移动一下指针:QSqlQuery sql; sql.exec("select name,password from adminuser"原创 2017-10-07 22:34:03 · 2469 阅读 · 1 评论 -
Qt中创建控制台程序(cmd窗口)
有位朋友留言问,如何创建一个控制台的界面。因为Qt似乎直接创建的就是一个带有窗口的程序。额,其实我觉得吧,还是不够细心。、下面来演示一下吧。在新建项目的时候注意选择,默认的是widget程序,只需要选择成Console程序就可以了。下面就是一直点下一步就行了。当使用cout时候却发现编译器报错,提示并没有声明cout究其原因是需要的头文件,因此需要引入头文件#include但...原创 2019-07-28 23:02:29 · 13861 阅读 · 0 评论 -
不要再说Qt教程少了
首先,Qt的教程非常多。更何况,个人认为学好C++才是关键,语言不通,总是研究框架干啥。发几个Qt相关的网站,给大家看一下。可能更多的还是基础,真正提高,还是自己的技术,这些只能用来入门。话说我好像发过……Qt基础与Qt on Android入门https://edu.csdn.net/course/detail/162PyQthttps://edu.csdn.net/course/d...转载 2019-07-23 23:42:04 · 2572 阅读 · 0 评论 -
QML中的AnchorChanges锚布局改变元素
AnchorChanges用来改变锚布局,其实你完全可以用属性来进行,这个元素不过是对属性的细化而已。一个简单的单击鼠标改变锚布局属性的例子:import QtQuick 2.4import QtQuick.Window 2.2Window { id:rootItem visible: true width: 400 height: 500 ...原创 2016-03-18 16:44:10 · 1653 阅读 · 0 评论 -
Qml文件的两种加载方式|启动Qt quick app的两种方法
一种是QQmlApplicationEngine搭配Window,例如:#include <QGuiApplication>#include <QQmlApplicationEngine>int main(int argc, char *argv[]){ QGuiApplication app(argc, argv); QQmlAppl...原创 2016-03-11 22:01:37 · 9625 阅读 · 0 评论 -
QLabe中实现打开链接
最近有人问到这么一个功能:显示一个超链接,当客户点击的时候打开这个连接。这个其实是一个非常简单的功能,网上的教程一大把,实现起来就是那几行代码,话说这应该不算抄袭吧。好的,上代码吧!记得加入我们的交流学习群哦!271251545代码示例一:原理:利用linkActivated()函数来实现激活,调用opurl函数来打开连接。有人问我,你怎么知道有这个函数?当你想要实现链接的时原创 2016-10-02 22:18:15 · 1258 阅读 · 0 评论 -
windows下QT各版本简介
自从申请该号,由于工作的原因,长久没有更新。以后可能也不会稳定更新,但是肯定会坚持。因为本人也是边学边写,可以说是现学现卖,因此文章只是作为参考,如果有错误,或者不完善,请留言指正。本文说得版本,是针对windows下的编译器而产生的版本。mingGw版:minGw其实就是gcc编译器,只不过是在windows下做了封装而已。朋友们在官网下载的只有32位版本,也就是X86版,没有64位原创 2016-06-13 20:12:34 · 22251 阅读 · 0 评论 -
QT编写和调用dll动态库最新版(隐式调用)
网上也有不少教程,但是很多都是只讲述了如何做,没有说为什么,导致很多迷惑,当然包括我。今天仔细尝试了,现在把结果说出来,大家共同学习。首先我们来创建一个简单的dll,实现两个数相加。1.首先是新建项目,这里我们选择创建一个library,c++库2.接下来给你的项目,我的叫plus,点击下一步给类命名,我的类叫PlusFun2.接下来就是一直下一步了。然后这是我原创 2016-07-10 23:02:03 · 17644 阅读 · 4 评论 -
自学QT之QWidget::paintEngine: Should no longer be called的解决办法
这个还是以前遇到的,今天突然想起来,就决定重现一下当初的错误,以及错误的代码。报错是这个样子的:QWidget::paintEngine: Should no longer be calledQPainter::begin: Paint device returned engine == 0, type: 1其实这个原因很简单,来看看报错的代码:#include "mainwi原创 2016-01-28 20:50:35 · 31674 阅读 · 5 评论 -
QT实现自动打开网页
有些软件在使用的时候会发现自动打开浏览器到某个主页,其实这个代码很简单哦,大QT就一行代码就可以实现了。QDesktopServices::openUrl(QUrl("https://hao.360.cn/?src=lm&ls=n51e61a4d93"));这段代码就可以实现这个功能,但是请记得包含两个头文件哦:#include #include 然后你就发现,程序运行原创 2016-02-09 21:27:01 · 4535 阅读 · 5 评论 -
QT选择文件对话框实现多种类型文件匹配过滤
这个功能确实不知道如何说,就是说在选择文件的时候是可以筛选的,但是我有时候要筛选的是音乐,有时候是图片,这个时候就要用到这个功能了。其实也只是很简单的代码,可是很实用。代码如下:QStringpath=QFileDialog::getOpenFileName(this,"选择文件","/home","music(*.mp3);;image(*.jpg*.png)");关键就是这原创 2016-02-10 22:46:57 · 12694 阅读 · 1 评论 -
自学QT之UDP发送数据
例子采用的是单播方式,其他组播和广播也都是一样的代码,稍微修改一下。首先要写一个发送端。发送端比较简单,只需要几行代码:当然哦,因为要用到网络,所以这里你需要在pro文件中加入QT+=network,别忘了,执行以下qmake撒,不然是不行的。main.cpp的代码#include #include #include #include int main(int a原创 2016-01-14 17:12:18 · 11617 阅读 · 0 评论 -
关于QT、QT creator和编译器,新手入门必知的一些知识
新手刚结束QT,常常会有这样的疑问,怎么qt那么复杂,什么乱七八糟的都有。下载好了vs版没有编译器,下载minGW版会不会有问题?qt creator是什么?qt和qt creator是什么关系?QT是类似于mfc,他是一种架构,可以让你写程序很方便,帮你封装好了很多类,而不必去直接用c++的类进行操作。c++的类很强大,但是有时候也很麻烦。这时候就出现了mfc、qt之类的东西。qt最大的特点原创 2016-02-01 23:05:09 · 27274 阅读 · 1 评论 -
自学QT之任务栏预览视图按钮
好吧,其实我并不知道这个按钮名字该叫什么,但是目的很明确,实现酷狗那种鼠标放在任务栏,预览窗口中可以直接对音乐进行控制。好神奇的样子。看看官方的代码是怎么给的: QWinThumbnailToolBar *thumbbar = new QWinThumbnailToolBar(widget); thumbbar->setWindow(widget->windowHandle()原创 2015-10-08 20:51:14 · 2092 阅读 · 0 评论 -
QT html解析
QT是支持html解析的。什么意思呢,一段代码就明白了。QLabel *label=newQLabel("hello,world!"); label->show();运行后的结果看看是什么样子的:当然,不止是QLabel这个类,其他的widget也是支持这中美化方式的。原创 2016-03-11 21:54:42 · 4648 阅读 · 2 评论