勇哥学习了十来天的QT,边学边写了个小练习。放上来做为一些知识点的备查。这个小程序的功能有:磁盘读取歌曲名列表双击歌曲名调用外部播放器播放可以支持首拼方法模糊搜索歌曲控件的右键菜单功能很简单,但是用到了一些常用的Qt知识点,包括:QListWidget控件QTabWidget控件QPushButton控件QLineEdit控件控件相关的信号与槽SIGNAL和SLOT宏foreachtry...catch...QSettings类QFile类QTextStream类QCoreApplication
在标准C++中,并没有foreach关键字。但是在QT中,可以使用这一个关键字,其主要原因是QT自己增加了这一个关键字,就像slots和signals、emit等一样。增加的foreach关键字在编译时会进行预处理。其用法为:foreach (varItem , Items) // foreach(variable ,container)其中,varItem(variable)是容器Items(container)中的一个项
简述普通情况下。我们在开发软件过程中,都会缓存一些信息到本地,能够使用轻量级数据库sqlite。也能够操作注冊表、读写配置文件。关于QSettings的使用前面已经介绍过了。比較具体,见“很多其它參考”,以下介绍下QSettings经常使用功能-读写注冊表、配置文件。长处无需指定注冊表路径普通情况下,我们须要定义一个宏,或者常量字符串来指定保存的注冊表位置。#define HKEY_CURRENT_USER_QT "HKEY_CURRENT_USER\\SoftWare\\Digia\
勇研究了一下QT的多线程,是一个QThread的类,使用方法也C#的Thread类相似。QT的ui界面也称为界面线程,只有它可以更新UI上面的信息,其它的子线程如果想要更新Ui信息,必须通过消息传递给主线程进行更新。这个其实也是和C# 中一样的。在C#中,子线程通过通过调用主界面上的控件的Invoke来委托ui线程执行更新信息的任务。Thread.h#pragma once
#include <QObject>
#include <QThr
这方面的应用,主要用来读写配置文件、写生产数据文件这些方面。也算是经常用到的功能了。代码:#include "QtForOpencv.h"
#include <opencv2\opencv.hpp>
#include <opencv2\core.hpp>
#include <opencv2\imgcodecs.hpp>
#include <opencv2\imgproc.hpp
在C++中学习过程中,我们都知道:delete 和 new 必须 配对使用(一 一对应):delete少了,则内存泄露,多了麻烦更大。Qt作为C++的库,显然是不会违背C++的前述原则的。可是:在Qt中,我们很多时候都疯狂地用new,却很少用delete,缺少的 delete 去哪儿了?!注:本文暂不涉及智能指针(smart pointer)相关的东西,你可以考虑 Qt 智能指针学习 一文Qt半自动的内存管理在Qt中,以下情况下你new出的对象你可以不用 亲自去de
本篇演示了下面的内容:QLabel中鼠标常用事件定时器的二种实现方式负责事件分发的event事件负责事件过滤的eventFilter下面的演示代码中,界面上第一个label是一个提升为Mylabel类的自定义控件.其它的是普通的labelMyLable.h#pragma once
#pragma execution_character_set("utf-8")
#include "qlabel.h"
class&nb
自定义控件在C#中用得很多,所以我们有必要看看QT里面是如何实现的。Qt的自定义控件,跟新增一个新窗口步骤是一样的,只不过最后我们在另外一个窗口上如果想引用的话,先放一个QWidget控件上去,然后使用右键菜单的“提升为”功能,可以把继承为我们新定义的窗口。下面勇哥说说详细步骤:(1)你需要添加Qt Class,普通的C++类是不可以的。选择Qt GUI Class,这个类会添加一个Ui窗体。(2)在新增加的窗体上我放入了一个spinbox, 一个水平slider至于这个自定义控件上的实现代码,
QStringList 初始化 QStringList qstrList;
qstrList<<"Android" << "Qt Creator" << "Java" << "C++";
QStringListIter
这篇勇哥要熟悉一下QT的信号槽怎么样快速实现。想要快速实现就不能完全敲代码,可以借助于QT的UI编辑器来完成。另外通过常见的QCommboBox控件来熟悉控件的操作。还有多个窗口是如何调用。代码:QtForOpencv.h#pragma once
#pragma execution_character_set("utf-8")
#include <QtWidgets/QWidget>
#include "ui