自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 C++笔记 2.4 const限定符

Primer C++笔记const限定符有时候我们希望定义这样一种变量,它的值不能被改变。特点:const对象一旦创建后其值就不能再改变,所以const对象必须初始化。const特征仅仅在改变const变量的操作的才会发挥作用。初始值可以是任意复杂的表达式:默认情况下,const对象仅在文件内有效。对于const变量不管是声明还是定义都添加extern关键字就可以在一个文件中定义const,而在其他多个文件中声明它。可以把引用绑定到const对象上,就像绑定到其他对象上一样,我们称

2020-06-30 00:22:11 254

原创 C++笔记 2.3 复合类型

Primer c++笔记复合类型一条声明语句由一个**基本数据类型(basetype)和紧随其后的一个声明符(declarator)**列表组成,每个声明符命名了一个变量并制定该变量为与基本数据类型有关的某种类型.。声明符其实就是变量名。引用(reference)为对象起了另外一个名字特点:2. 一旦初始化完成,引用将和它的初始值对象一直绑定在一起,无法重新绑定。3. 引用并非对象,只是已经存在对象所起的别名。(因为引用本身不是一个对象,所以不能定义引用的引用)。4. 引用只能绑

2020-06-30 00:00:00 297

原创 VS提示找不到xx.exe 找不到生成的exe文件

VS提示找不到xx.exe 找不到生成的exe文件原因:配置属性 - 常规 - 输出目录和链接器 - 常规 - 输出文件不一致项目中目录是一致的,仍然找不到win32debug/win32release下可执行程序,配置的是x64编译解决:在平台这个选项中选x64,编译运行即可,可能是混合平台导致的...

2020-06-29 23:15:56 2316 1

原创 - + 作为分隔符解析字符串

Minus "-"{ QString str = "1-3"; //"-" QStringList strList = str.split("-"); //size = 2 1,3 //QRegExp("+") QStringList strList1 = str.split(QRegExp("-")); //size = 2 1,3 //QRegExp("[+]") QStringList strList2

2020-06-29 00:25:26 355

原创 事件过滤器(installEventFilter)

Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理。假设我们有一个CustomerInfoDialog控件,由一些QLineEdit控件组成。我们希望使用Space键得到下一个QLineEdit的输入焦点。一个最直接的方法是继承QLineEdit重写keyPressEvent()函数,当点击了Space键时,调用focusNextChild():void MyLineEdit::keyPressEvent(QKeyEvent.

2020-06-23 23:49:33 6105

原创 lambda表达式 带参数使用

connect(_pGroupMode, static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked), [=](int id) { //to do something} );

2020-06-19 21:17:54 1108

原创 C++中namespace跨多个文件的问题

在C++14标准中(我使用的是最接近的working draft, N3797),在"7.3 Namespaces"中,关于namespace有一句话,“Unlike other declarative regions, the definition of a namespace can be split over several parts of one or more translation units.” 而在"3.3.6 Namespace scope"中的第3条有如下说明:“The outermo

2020-06-19 21:09:35 1113

原创 c++中static的用法详解

C语言的static关键字有三种用途,可从两个方面来分析:1:作用域,2:生存期1.静态局部变量:用于函数体内部修饰变量,这种变量的生存期一直到程序关闭。作用域:函数体内部, 生存期:整个程序运行期间int foo(){ static int si = 1; //note:1 int ci = 1; //note:2 si += 1; printf("&si = %p\t si = %d\t &ci = %p\t ci = %d\n", .

2020-06-19 21:07:56 611

原创 VS2017控制台一闪而过

刚接触 Visual Studio的时候大多数人会bai写个HelloWorld的程序试一下du,有的人会发现执行结zhi束后输出窗口会一闪dao而过,并没有出现Press any key tocontinue的字样。无论是在Visual Studio2008、2010还是2012中都有这种情况出现,有些人可能会用下面两种方法中的一种:在程序代码的最后加上system("pause")或者getchar()。其实这是属于dos下的命令。其实问题是你执行时按的是F5,而正确的应该是Ctrl+F5,这

2020-06-19 00:31:40 566

原创 前置++ 和 后置++

//前置++T& operator++(){ this = this + 1; return *this;}//后置++T operator++(int){ T tmp = this; this = this + 1; return tmp;}这里也很好解释了为什么后置++在感觉上是在语句执行完后才进行递增,其实在执行过程中只是对临时值进行处理,原有值已经递增了。注意:为什么在前置++时要实现返回引用,而后置++时却不用引用返回。.

2020-06-18 23:29:28 336

原创 Qt键盘组合键

按键+按键组合,例如ctrl+字母(先ctrl后A触发,先A后ctrl不可触发):void MyAPP::keyPressEvent(QKeyEvent *event) { if ((event->modifiers() == Qt::ControlModifier) && (event->key() == Qt::Key_A)) { QMessageBox::aboutQt(NULL, "aboutQt"); }

2020-06-11 23:39:36 3191

原创 QT中如何给QTabWidget的整个Tab页添加border边框

实现的效果如图所示:虽然实现的Style代码就几句,但是也真的苦了宝宝了,琢磨了很久才终于给解决了额,如果要增加边框的粗细和背景色,Style中重新设置下就好了,理解起来应该没有问题的。 tabWidget->setStyleSheet("QTabWidget:pane{ \ border: 1px solid red; top: -1px;background-color:grey;}\ ...

2020-06-11 23:23:38 3933

原创 【重学计算机】计算机组成原理

【重学计算机】计算机组成原理目录一、计算机系统概论 二、数据表示 三、运算方法与运算器 四、存储系统 五、指令系统 六、中央处理器 七、总线 八、输入输出系统一、计算机系统概论1. 冯诺依曼计算机组成主机(cpu+内存),外设(输入设备+输出设备+外存),总线(地址总线+数据总线+控制总线)2. 计算机层次结构应用程序-高级语言-汇编语言-操作系统-指令集架构层-微代码层-硬件逻辑层3. 计算机性能指标非时间指标 【字长】机器一次能处理的二进制位数 ,

2020-06-11 00:03:38 318

原创 Qt QLable 响应单击点击事件

第一种方法使用eventFilter事件过滤器,具体方法参照https://www.devbean.net/2012/10/qt-study-road-2-event-filter/效果图主要代码#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) ...

2020-06-10 23:33:25 250

原创 QT状态栏QStatusBar

状态栏显示的信息分3种1. 一般信息,用QLabel 代表2.永久信息,文本会一直显示在状态栏的最右边。3. 临时信息,指定信息现实的时间。时间到即信息消失locationLabel_ = new QLabel("July");//locationLabel_ = new QLabel;locationLabel_-&gt;setAlignment(Qt::Align...

2020-06-10 23:33:00 382

原创 Qt设置QLineEdit控件不可编辑、密文输入、输入格式等小技巧

1、设置不可编辑setReadOnly(false);//或setEnabled(false);//或 setFocusPolicy(Qt::NoFocus);//无法获得焦点,自然无法输入,其他文本控件类似//或hasAcceptableInput(false);2.setPlaceholderText()设置提示文字如图,搜索输入框,没有输入任何字符时,显示“...

2020-06-10 23:32:26 4042

原创 QActionGroup类详解

QActionGroup类将actions分组。在某些情况下将QAction分组是十分有用的。例如,如果你有一个Left Align的action,一个Right Align的action,一个Justify的action,以及一个Center action,在统一时刻所有这些actions只能有一个被激活。一种简便的做法就是将这些actions以分组的方式组织。下面...

2020-06-10 23:30:58 272

原创 QT工具栏按钮

工具栏按钮:采用ToolBar直接建立工具栏按钮,一般一排连续的几个按钮可使用一个ToolBar的不同Action进行分配,一个Action对应着一个按钮;若是有两个ToolBar,则之间会有分隔(竖线右侧带点),属于不同的两部分。此外还可以通过toolBar-&gt;addSeparator添加分隔符,将不同操作分开。按钮的图标可通过Action进行插入,注意图片要先导入资源中,再输入资...

2020-06-10 23:30:11 810

原创 Qt正则 QRegExp

\s Matches a whitespace character (QChar::isSpace()).\S Matches a non-whitespace character.\s+ 匹配多个空格 + E{1,}

2020-06-10 23:28:35 84

原创 MSVC Qt工程添加程序图标

1. 创建 .rc文件 2 rc文件写入IDI_ICON1 ICON DISCARDABLE "20.ico" .ico路径要保证正确3 添加现有项,添加rc文件(不必添加ico,rc会索引到)注:工程原有的rc文件如果不生效,重新创建添加...

2020-06-10 23:28:01 398

原创 QXmlStreamReader 解析xml 文件

targets.xml<?xml version="1.0" encoding="utf-8" ?> <targets> <target> <id>1</id> <name>zhanlie</name> <sex>男</sex> </target> &l...

2020-06-10 23:26:31 307

原创 QXmlStreamWriter写入xml文件

void writeXml(){ QFile out("./write.xml"); if ( out.open(QIODevice::WriteOnly) ) { QXmlStreamWriter stream(&out); stream.setAutoFormatting(true); stream.writeStartDocument(); //... ...

2020-06-10 23:26:09 498

原创 Qt写入json

void writeQtJson(){ QJsonObject jsonObj; jsonObj["FirstName"] = "John"; jsonObj["LastName"] = "Doe"; //嵌套jsonObj { QJsonObject Obj; Obj["Country"] = "Great Britain"; Obj["City"] = "London...

2020-06-10 23:25:58 894

原创 std::vector 拷贝

利用拷贝赋值操作符(深复制)vector<int> array{3,5,2,6,4};vector<int> outArray;outArray = array;利用拷贝构造(深复制)vector<int> array{3,5,2,6,4};vector<int> outArray(array);利用swap()函数(交换两...

2020-06-10 23:25:13 7056 4

原创 浮点类型数据取余

可以,但不能用操作符%,而要用库函数fmodf、fmod或fmodl。因为%是整型取余操作符,要求两边都是整型数才行,结果也是整型;fmodf用于float型变量操作,fmod用于double型变量操作,fmodl用于long double型变量操作。以下以fmod举例#include <stdio.h>#include <stdlib.h>#include &l...

2020-06-10 23:24:04 10108

原创 字符串分割

1) QString split(QRegexp("\\s+"))比c++效率低2)C++#include <iostream>#include <vector>void devideStringByChar(const std::string& strToDevide, std::vector<std::string> &...

2020-06-10 23:23:04 292

原创 sqlserver分区

SQL Server 大数据管理——表分区--db importantuse MyTest一. 创建分区文件组/文件--filegroupalter database MyTest add filegroup fg2015alter database MyTest add filegroup fg2016alter database MyTest add filegr...

2020-06-10 23:22:01 1002

原创 获取本机ip

QHostInfoQString getIp(){ QString ip; QHostInfo info = QHostInfo::fromName(QHostInfo::localHostName()); foreach(QHostAddress address, info.addresses()) { if (address.protocol() == QAbstractS...

2020-06-10 23:21:09 102

原创 线性插值

如何进行线性插值  假设我们已知坐标(x0,y0)与(x1,y1),要得到[x0,x1]区间内某一位置x在直线上的值。根据图中所示,我们得到两点式直线方程:    假设方程两边的值为α,那么这个值就是插值系数—从x0到x的距离与从x0到x1距离的比值。由于x值已知,所以可以从公式得到α的值    同样,    这样,在代数上就可以表示成为:  y= (1 − ...

2020-06-10 23:20:06 421

原创 Qtcreator 工程转换MSVC

删除 .qmake.stash, vs加载自动生成新的Makefile文件可删可不删error c20001 解决方法:手动更改当前文件的编码 UTF-8 转为 UTF-8 BOM

2020-06-10 23:18:58 566

原创 error redefine 重定义错误

ctest.h//redefine错误//int i;//void test(){}//.h文件只做声明 定义在.c完成extern int k;void fun();test.c#inlcude "test.h"int k = 10;void fun() {}namespacenamespace 只做声明 定义在.cpp完成namespace A...

2020-06-10 23:18:11 949

原创 Qt属性系统

QObject::setPropertyQObject::setProperty("name", "liu");QString name = QObject::property("name").toString();通过Q_PROPERTYQ_PROPERTY(bool focus READ hasFocus);Q_PROPERTY(bool enabled READ isE...

2020-06-10 23:17:02 109

原创 Qt 信号/槽

connect接口:[static] QMetaObject::Connection QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)...

2020-06-10 23:16:39 151

原创 C printf

#include "stdio.h"#include "stdlib.h"int main(){ int a = 10; //printf("float = %f\n", a); //0 printf("float = %f\n", (float)a); //10 system("pause"); return 0;}

2020-06-10 23:16:25 131

原创 C++拼接字符串与数字

1)to_string2)sprintf3)std::OStringStreamstd::OStringStream oss;oss << "test" << 3;oss.str() //test34)QString.arg()

2020-06-10 23:13:12 879

原创 c++ 矩阵封装类

matrix.h:#ifndef __MATRIX_H__#define __MATRIX_H__#pragma once#include <iostream>#include <fstream>#include <sstream>#include <vector>#include <string>using ...

2020-06-10 23:11:22 427

原创 window剪切板

win32剪贴板操作https://blog.csdn.net/u011393161/article/details/79671093进程间通信 - 剪贴板实现https://www.cnblogs.com/BoyXiao/archive/2010/12/25/1916677.html

2020-06-10 23:10:22 226

原创 Qt填充widget背景色

QPalette pal = ui.widget->palette();pal.setColor(QPalette::Background, QColor(160,160, 160, 255));ui.widget->setPalette(pal);ui.widget->setAutoFillBackground(true);

2020-06-10 23:08:58 768

原创 QScrollArea简单实用

1.代码实现QScrollArea* area = new QScrollArea(this);QWidget * wgt = new QWidget;QPushButton *btn = new QPushButton(wgt);btn->setText("123456");btn->move(130, 50);area->setWidget(wgt);//...

2020-06-10 23:08:48 176

原创 Qt状态栏 QStatus

QStatusBar类提供一个水平条来显示状态信息。所谓状态信息,拿个简单的例子来说,当你在word中编辑时,左下角就会出现页面、字数等等信息。状态信息可以分为三类:临时信息,如一般的提示信息;正常信息,如页数;永久信息,如版本信息。QMainWindow中默认提供了一个状态栏。我们可以使用showMessage()来显示一个临时消息,它会出现在状态栏的最左边。我们一般用addWidget()将一...

2020-06-10 23:08:11 2082

空空如也

空空如也

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

TA关注的人

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