自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Allen Roson

Code Maniac

  • 博客(49)
  • 资源 (11)
  • 收藏
  • 关注

原创 Roson讲Qt#14 设置滚动条样式

1.滚动条的构成注意事项(1) QScrollBar可以使用handle、add-line、sub-line等子控件进行样式设置。但是只要有一个属性或子控件是自定义的,那么所有其他属性或子控件也必须是自定义的。(2) 有一些常见的CSS属性用在此控件上是不会生效的,而且会导致异常。比如说你尝试指定一个QTextBrowser(高度设为240px)的垂直滚动条的高度:height: 80px; 但这不会生效,反而会导致滚动条不显示。(3) 我对很多属性进行了测试,文中会详细说明这些属.

2021-08-30 17:58:38 2948 1

原创 QGridLayout(表格布局)详细使用说明

QGridLayout;表格布局

2021-08-18 19:29:01 24333 3

原创 如何创建和编写QML应用程序(实例教程)

目录1.编程环境2.创建QML应用程序3.编写QML应用程序3.1 main.cpp3.2 main.qml3.3 定义QML文件对象层次结构3.4 完整的QML文档构成3.5 创建和运行QML项目 3.6 使用控件创建QML应用程序3.7 处理用户输入3.8 属性绑定3.9 动画3.10 为重用定义自定义QML类型3.11 深入了解QML的开发注意:文中带链接的文字表示可以在QT的官方文档中搜索到对应的内容。1.编程环境..

2021-08-12 19:27:01 4452 3

原创 C/C++如何启动外部可执行程序(exe)

本文将介绍四种启动外部可执行程序的方法,排版不分优先级,实际应用中需根据需求选择最合适的方法。1.ShellExecute#include <windows.h>ShellExecute(NULL,L"open",L"F:\\Code\\C++\\startexetest\\Win32\\Debug\\startexetest.exe",NULL,NULL,SW_SHOW);2.WinExec#include <windows.h>WinExe..

2021-08-01 23:19:28 25428 2

原创 Roson讲Qt#16 QML中的anchors(锚)

QML中有一个数据类型叫Item,Item里面有很多属性,其中一个就是anchors.anchors翻译过来叫“锚”,锚可能不好理解,在我看来,可以把anchors当成是一个控件浓缩而成的一个点,可以通过设置点的上下左右等属性来控制界面外观,控制项与项之间的关系。下面这个例子设置了:以pic的水平方向上的中心作为lable的水平方向的中心以pic的底部边框作为lable的上方边框在label的上方设置5个像素的边距下面这个例子设置了:以pic的水平方向上的中心作为la

2021-08-31 18:57:59 1086

原创 Roson讲Qt#15 捕获得到焦点和失去焦点事件

要捕获得到焦点事件和失去焦点事件,需要重写下面两个函数protected://得到焦点事件virtual void focusInEvent(QFocusEvent *e);//失去焦点事件virtual void focusOutEvent(QFocusEvent *e);但是,只重写上面两个函数是不够的,需要设置对焦原因,例如我想让鼠标点击在其它控件上面的时候,触发失去焦点事件,则可以设置:setFocus(Qt::MouseFocusReason);下..

2021-08-30 19:57:17 713

原创 C++#map 按key从大到小排列

#include <map>#include <string>#include <iostream>using namespace std;#include <functional>map<short, bool, greater<short>> m_map;其中greater是C++标准库中的一个结构体,其源码如下: // TEMPLATE STRUCT greater template&..

2021-08-28 17:47:46 2007 1

原创 MFC#CListCtrl 响应Item插入消息

头文件中要加入消息处理函数的声明:afx_msg void OnLvnInsertItem(NMHDR *pNMHDR, LRESULT *pResult);cpp中加入函数的定义,并关联消息://IDC_TAB_DATASTREAM为列表控件的ID,这个根据自己定义的值来写BEGIN_MESSAGE_MAP(CDataStream, CBaseView) ON_NOTIFY(LVN_INSERTITEM, IDC_TAB_DATASTREAM, &CDataStrea

2021-08-28 17:31:53 218

原创 MFC#CListCtrl 获取当前屏的第一行和最后一行的行号

CListCtrl m_dataTab;...int firstRow = m_dataTab.GetTopIndex();int lastRow = 0;if (m_dataTab.GetCountPerPage() > m_dataTab.GetItemCount()){ lastRow = m_dataTab.GetItemCount() - 1;}else{ lastRow = m_dataTab.GetTopIndex() + m_dataTab.GetCountPer.

2021-08-28 17:20:39 603

原创 Roson讲Qt #13 捕获屏幕图像并保存为图片

#include "QtWidgetsApplication9.h"#include "QScreen"#include "QRect"#include "QPixmap"QtWidgetsApplication9::QtWidgetsApplication9(QWidget *parent) : QMainWindow(parent){ ui.setupUi(this); connect(ui.pushButton, SIGNAL(clicked()), this,.

2021-08-26 15:45:40 933 2

原创 Roson讲Qt #12 QDialog窗口设置

1.默认的窗口样式QDialog dlg;dlg.exec();如果什么熟悉都不设置,直接启动对话框,就是下面这样的界面:2.全屏显示(遮住任务栏)QDialog dlg;dlg.showFullScreen();dlg.exec();下面是运行之后的界面,整个屏幕被空白的Dialog铺满,任务栏也被遮住了。3.去掉对话框自带的按钮和标题栏 QDialog dlg; dlg.setWindowFlags(Qt::Dialog ..

2021-08-26 15:24:57 1721

原创 数据结构学习笔记7——链式栈

1.链式栈实现源码#ifndef LINKSTACK_H#define LINKSTACK_H#define MAX_STACK_SIZE 100#include <iostream>using namespace std;template <typename T>class LinkStack{public: struct StackNode { StackNode *m_pNext; T m_value;

2021-08-24 20:21:36 145

原创 数据结构学习笔记6——顺序栈(stack)源码与测试代码

1.SeriationStack.h#ifndef SERIATIONSTACK_H #define SERIATIONSTACK_H#define MAX_STACK_SIZE 100template <typename T>class SeriationStack{public: SeriationStack(); ~SeriationStack(); //初始化 bool Init(); //入栈 bool Pus.

2021-08-24 16:47:46 291

原创 数据结构学习笔记5——双向链表(链表源码+测试源码)

1.DoubleLinkList.h#ifndef DOUBLELINKLIST_H#define DOUBLELINKLIST_H#include <iostream>using namespace std;typedef struct LNode{public: int m_iValue; LNode* m_pNext; LNode* m_pPre; LNode() { m_iValue = 0; .

2021-08-24 14:37:42 113

原创 数据结构学习笔记4——单链表(链表实现源码+功能测试源码)

1.数据存储结构typedef struct LNode{public: int m_iValue; LNode* m_pNext; LNode() { m_iValue = 0; m_pNext = NULL; } }LNode,*LinkList;2.封装数据的基本操作class MyList{public: MyList() { Init(); }

2021-08-23 20:05:43 160

原创 数据结构学习笔记3——链表(数组、单链表、双链表、循环链表)

定义:由n(n>=0)个数据特性相同的元素构成的有限序列称为线性表。线性表中元素的个数n(n>=0)定义为线性表的长度,n=0时称为空表。对于非空的线性表或线性结构,其特点是:(1)存在唯一的一个被称作"第一个"的数据元素; (2)存在唯一的一个被称作"最后一个"的数据元素; (3)除第一个之外,结构中的每个数据元素均只有一个前驱; (4)除最后一个之外,结构中的每个数据元素均只有一个后继。顺序表的定义线性表的顺序表示指的是用一组地址连续的存储单元依次存储...

2021-08-23 15:36:51 1031

原创 Roson讲Qt #11 QSlider(滑块)

1.什么是QSlider QSlider小部件提供一个垂直或水平滑块。 滑块是控制有界值的经典小部件。它允许用户沿着水平或垂直槽移动滑块手柄,并将手柄的位置转换为合法范围内的整数值。 QSlider有很少的自己的功能;大部分功能都在QAbstractSlider中。最有用的函数是setValue()直接将滑块设置为某个值;triggerAction()来模拟点击的效果(对于快捷键很有用);setSingleStep(), setPageStep()设置步骤;和setMinimum...

2021-08-23 11:46:04 1296

原创 Roson讲Qt #10 QProgressBar(进度条)

1.什么是QProgressBar QProgressBar小部件提供一个水平或垂直的进度条。 进度条用于指示用户操作的进度,并向用户保证应用程序仍在运行。 进度条使用步骤的概念。您可以通过指定最小和最大可能的步骤值来设置它,当您稍后给它当前步骤值时,它将显示已经完成的步骤的百分比。百分比的计算方法是将progress (value() - minimum())除以maximum() - minimum()。 您可以使用setMinimum()和setMaximum指...

2021-08-22 21:46:10 985

原创 Roson讲Qt #9 QDateTimeEdit(日期时间编辑)

1.什么是QDateTimeEdit QDateTimeEdit类提供了一个用于编辑日期和时间的小部件。 QDateTimeEdit允许用户使用键盘或方向键来编辑日期和时间值,以增加和减少日期和时间值。箭头键可用于在QDateTimeEdit框中从一个区域移动到另一个区域。日期和时间按照格式设置,需使用setDisplayFormat()。 QDateTimeEdit *dateEdit = new QDateTimeEdit(QDate::currentDate());...

2021-08-22 20:54:47 4296 1

原创 Roson讲Qt #8 QCheckBox(复选框)

1.什么是QCheckBox QCheckBox小部件提供了一个带有文本标签的复选框。 QCheckBox是一个选项按钮,可以打开(选中)或关闭(选中)。复选框通常用于表示应用程序中可以启用或禁用的特性,而不会影响其他人。可以实现不同类型的行为。例如,QButtonGroup可用于对复选按钮进行逻辑分组,允许独占复选框。但是,QButtonGroup不提供任何视觉表示。 下图进一步说明了独占复选框和非独占复选框之间的区别。每当复选框被选中或清除时,它就会发...

2021-08-22 16:02:17 629

原创 Roson讲Qt #7 QStyle(定制应用程序的外观风格)

1.QStyle QStyle类是一个抽象基类,封装GUI的外观和感觉。 Qt包含一组QStyle子类,模拟Qt支持的不同平台的风格(QWindowsStyle, QMacStyle等)。默认情况下,这些样式内置在Qt GUI模块中。样式也可以作为插件提供。 Qt的内置小部件使用QStyle来执行几乎所有的绘图,确保它们看起来与等效的本地小部件完全相同。下图显示了8种不同风格的QComboBox:2.QStyleFactory QStyleFactory...

2021-08-21 16:12:16 462

原创 Roson讲Qt #6 QRadioButton(单选按钮)

1.什么是QRadioButton QRadioButton小部件提供了一个带有文本标签的单选按钮。 QRadioButton是一个可选按钮,可以打开(选中)或关闭(选中)。单选按钮通常为用户提供“众多选项之一”的选择。在一组单选按钮中,一次只能选中一个单选按钮;如果用户选择了另一个按钮,先前选择的按钮将被关闭。 默认情况下单选按钮是自动排他的。如果启用了自动独占,属于同一父小部件的单选按钮的行为就像它们属于同一独占按钮组一样。如果您需要多个专属按钮组用于属于同一父部件的单选按...

2021-08-21 15:33:50 1883

原创 Roson讲Qt #5 QComboBox

1.什么是QComboBox QComboBox小部件是一个组合按钮和弹出列表。 QComboBox提供了一种向用户显示选项列表的方式,这种方式占用的屏幕空间最小。 组合框是一个选择小部件,可以显示当前项,并弹出可选项列表。组合框可以是可编辑的,允许用户修改列表中的每个项目。 组合框可以包含像素映射,也可以包含字符串;适当重载insertItem()和setItemText()函数。对于可编辑的组合框,提供了函数cleararEditText(...

2021-08-20 17:51:47 615

原创 Roson讲Qt #3 QLineEdit

1.什么是QLineEdit QLineEdit小部件是一个单行文本编辑器。 QLineEdit允许用户输入和编辑一行纯文本,它提供的功能包括撤销和重做、剪切和粘贴,以及拖放(参见setDragEnabled())。 通过更改行编辑的echoMode(),它还可以用作“只写”字段,用于密码等输入。 文本的长度可以限制为maxLength()。可以使用validator()或inputMask()任意约束文本,也可以同时使...

2021-08-20 14:52:45 289

原创 Roson讲Qt #2 QLabel

目录1.什么是QLable2.使用QLabel2.1设置文本2.2获取文本2.3设置字体2.4 设置文字颜色2.5 设置背景颜色2.6 设置背景图片方法1方法2方法32.7设置自动换行2.8设置文本对齐方式1.什么是QLableQLabel小部件提供文本或图像显示。QLabel用于显示文本或图像。没有提供用户交互功能。可以以各种方式配置标签的可视化外观,并且可以使用它为另一个小部件指定焦点助记键。QLabel可以包含以下任何一种内容类型:..

2021-08-20 14:08:21 232

原创 Roson讲Qt #1 QTextEdit

设置文本ui.textEdit->setText("Hello world");获取文本qDebug()<<ui.textEdit->toPlainText();文本修改事件public slots: void OnTextChanged();...connect(ui.textEdit,SIGNAL(textChanged()),this,SLOT(OnTextChanged()));文本选择事件(光标移动时也会出发)public..

2021-08-19 17:47:33 583 2

原创 Roson讲Qt #4 QSettings(INI和注册表操作)

1.概述QSettings类提供了与平台无关的持久应用程序设置。用户通常希望应用程序在会话中记住它的设置(窗口大小和位置,选项等)。这些信息通常存储在Windows上的系统注册表中,以及macOS和iOS上的属性列表文件中。在Unix系统上,在缺乏标准的情况下,许多应用程序(包括KDE应用程序)使用INI文本文件。QSettings是对这些技术的抽象,使您能够以可移植的方式保存和恢复应用程序设置。它还支持自定义存储格式。QSettings的API基于QVariant,允许您以最少的努力保存

2021-08-19 15:58:20 1049

原创 数据结构学习笔记2——算法入门(定义、特性、标准、时间和空间复杂度)

目录1.数据结构与算法的关系2.算法的定义及特性3.评价算法优劣的基本标准4. 算法的时问复杂度4.1 问题规模和语句频度4.2 为什么要以语句的执行频度来计算时间复杂度4.3 算法的时间复杂度定义常数阶线性阶平方阶指数阶对数阶线性对数阶4.4 最好、最坏和平均时间复杂度5. 算法的控件复杂度1.数据结构与算法的关系数据结构与算法之间存在着本质联系,在某一类型数据结构上,总要涉及其上施加的运算,而只有通过对所定义运算的研究,..

2021-08-17 17:32:22 239

原创 数据结构学习笔记1——导论(研究方向、应用场景、概念、分类)

目录1.研究方向2.基本概念和术语3.数据结构3.1逻辑结构3.2 存储结构3.3数据类型和抽象数据类型1.研究方向计算机主要用千数值计算时, 一般要经过如下几个步骤:在此过程中寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间的关系,然后用数学语言加以描述,即建立相应的数学方程。例如:用计算机进行全球天气预报时,就需要求解一组球面坐标系下的二阶椭圆偏微分方程 预测人口增长情况的数学模型为常微分方程求解这些数学方程的算法是计...

2021-08-16 20:13:54 1415 2

原创 QML import 使用攻略(1)

Qt Quick模块提供图形基元类型。只有当QML文档导入QtQuick名称空间时,这些类型才可用。导入格式如下:import QtQuick 2.4但是Qt有很多版本,不同的人使用的Qt版本不一样,那么他们在导入Qt Quick时填写的版本号也要对应上。下图是我查到的Qt版本和QtQuick版本的对应关系表(来自Qt官网):当然这里的版本有点新,早于Qt5.7版本的没有相关的信息。不过没关系,有很多方法可以找到的,下面将会介绍。我们可以打开Qt的帮助手册,也就是Qt助手,如下图:.

2021-08-15 22:11:17 2029

原创 QML ApplicationWindow基础代码详细剖析

1.如何创建工程主要是写给没有基础的人看的,高手请直接跳过。2.代码分析2.1 项目代码结构2.2 main.cpp#include <QApplication>#include <QQmlApplicationEngine>int main(int argc, char *argv[]){ QApplication app(argc, argv); QQmlApplicatio...

2021-08-15 19:02:48 658

原创 QML知识点索引列表(学习指南)

QML是一种用于创建高度动态应用程序的多范式语言。使用QML,可以声明应用程序构建块(如UI组件),并设置各种属性来定义应用程序行为。可以通过JavaScript进一步编写应用程序行为的脚本,JavaScript是该语言的子集。此外,QML大量使用Qt,这允许从QML应用程序直接访问类型和其他Qt特性。本参考指南描述了QML语言的特性。指南中的许多QML类型都源自Qt QML或Qt Quick模块。要想学好QML,需要系统性地学习一下知识点,可以上网查阅资料或者去QT官方文档中查询。QML

2021-08-12 20:03:37 385

原创 认识QML应用程序与Qt Quick

1.QML应用程序QML是一种声明性语言,它允许根据用户界面的可视化组件以及它们之间如何交互和关联来描述用户界面。 它是一种可读性很强的语言,其设计目的是使组件能够以一种动态的方式相互连接,并且允许在用户界面中轻松地重用和定制组件。 使用QtQuick模块,设计人员和开发人员可以轻松地在QML中构建流畅的动画用户界面,并可以选择将这些用户界面连接到任何后端c++库。 1.1QML是什么? QML是一种用户界面规范和编程语言。 它允许开发人员和设计师一样创建高性能、流畅的动画和...

2021-08-12 14:49:56 979

原创 QT实现按钮滚动的效果

1.效果展示2.代码展示代码中已添加了详细的注释,如果看不懂,可以留言。2.1 MyBtnLayout.h#pragma once#include <QtWidgets/QMainWindow>#include "ui_MyBtnLayout.h"#include "QVector"class MyBtnLayout : public QMainWindow{ Q_OBJECTpublic: MyBtnLayout(Q...

2021-08-11 17:26:56 1751 2

原创 为什么QPainter绘图无效?

#include "MyBtnLayout.h"#include <QtWidgets/QApplication>#include "QFile"int main(int argc, char *argv[]){ QApplication a(argc, argv); QFile file(":/MyBtnLayout/dispaly.css"); file.open(QFile::ReadOnly); if (file.isOpen()) ...

2021-08-11 17:10:04 5261 3

原创 Qt QML介绍

目录1.Qt QML2.开始3.QML和QML类型4.列表和模型5.QML应用程序的JavaScript环境6.集成QML与c++应用程序7.额外的框架8.许可证和归因9.指南及其他资料10.参考注意:文中带链接的单词或短语均可在QT官方文档中检索。1.Qt QMLQt QML模块为使用QML语言开发应用程序和库提供了一个框架。它定义并实现了语言和引擎基础设施,并提供了一套API,使应用程序开发人员能够使用自定义类型扩展QML语言,并将QML代

2021-08-11 13:50:44 3211

原创 使用Navicat Premium创建MySql数据库存储过程(详细图解)

1.Navicat版本不同版本的界面可能不一样,这里展示一下我用的版本信息:2.从创建到执行的全过程截图和文字说明3.Navicat Premium免安装版(百度网盘)下载链接链接:https://pan.baidu.com/s/1h5jJEkP1BbyDQJ4Swy66kA提取码:8e1q若链接失效,可留言获取...

2021-08-10 16:52:09 2090

原创 QT定时器

1.基础说明QTimer类提供了重复的、一次性的计时器。QTimer类为计时器提供了一个高级编程接口。要使用它,创建一个QTimer,将其timeout()信号连接到适当的插槽,并调用start()。从那时起,它将以恒定的间隔发出timeout()信号。1秒(1000毫秒)定时器的示例(来自模拟时钟示例):QTimer *timer = new QTimer(this);connect(timer, SIGNAL(timeout()), this, SLOT(update()));time

2021-08-09 20:15:42 3449

原创 QDesktopServices简介(QT打开网页或者资源管理器)

QDesktopServices类提供了访问常见桌面服务的方法。许多桌面环境提供的服务可被应用程序用于执行常见任务,如打开网页,其方式既一致又考虑到用户的应用程序偏好。该类包含为这些服务提供简单接口的函数,这些接口指示服务是否成功。函数的作用是:打开外部应用程序中位于任意url的文件。对于与本地文件系统上的资源对应的URL (URL方案为“file”),将使用一个合适的应用程序来打开文件;否则,将使用web浏览器来获取和显示文件。用户的桌面设置控制是否打开某些可执行文件类型进行浏览,或者是否

2021-08-07 22:19:04 4308

原创 查看和设置进程优先级

目录1.查看进程优先级2.设置进程优先级2.1 与进程优先级设置相关的API2.2 优先级等级划分2.3 示例代码2.4 查看优先级设置是否生效1.查看进程优先级打开任务管理器,点击“详细信息”,选中要查看的exe,然后右键点击,在弹出的菜单中可以看到当前进程的优先级。2.设置进程优先级每个进程都有相应的优先级,优先级决定它何时运行和占用 CPU 时间。进程(线程)的优先级越高,那么就可以分占相对多的CPU时间片。最终的优先级共分32级,是从 0 到 3.

2021-08-06 17:33:29 4597

Qt曲线图和折线图.rar

Qt曲线图和折线图,LineChart,SplineChart,QLineSeries,QSplineSeries

2021-11-01

QChartTest.rar

使用QChart绘制图表的完整示例

2021-10-31

ListModelTest.zip

QAbstractListModel子类化,QListView自定义Model,设置QAbstractListModel子类为QListView的Model

2021-05-29

SAEJ1850(PWM-VPW)中英对照pdf.rar

SAEJ1850(PWM-VPW)中英对照 英文是pdf,中文是word文档

2021-01-24

QT_Book.zip

24小时学通Qt编程.pdf C _GUI_Qt4编程(第二版).pdf Qt Creator快速入门.pdf Qt及Quick开发实战精解.pdf Qt5开发及实例.pdf(由于限制了上传资源大小,这本书又很大,需要的人可以去百度网盘下载,链接:https://pan.baidu.com/s/1qEkwxcmE2j0ba62YrruJAA 提取码:6ejk)

2019-08-19

软件测试第三版(中文)

软件测试详细知识,免费下载,完整书签

2016-07-02

XmlPull解析XML

Pull解析XML:Android从服务器端获取XMl文件输入流,并用Pull方式解析,附被解析的XMl文档

2016-02-15

SAX解析XML源码

SAX解析XML源码:安卓客户端程序,通过HTTP协议从服务器端获取XML文件,然后解析并输出到控制台

2016-02-15

AIDL_SERVICE进程间通信(服务器、客户端源码)

AIDL_SERVICE进程间通信(服务器、客户端源码)

2016-02-14

C++编写dll和使用dll(最简单的例子vs2010)

用vs2010和C++语言编写的很简单的dll实例,内含dll源码,和如何使用dll的项目工程源码

2015-10-08

QTableWidget表头添加复选框

QTableWidget表头添加复选框,代码内有简单运用例子,看完了马上就会用

2015-07-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除