随笔分类 -  C++

摘要:一、override override的翻译是覆盖。实际上它在C++中可以检测哪些虚函数没有被重写并报错 注:在派生类的成员函数中使用override时,如果基类中无此函数,或基类中的函数并不是虚函数,编译器会给出相关错误信息。 void paintEvent(QPaintEvent*)overri 阅读全文
posted @ 2023-02-18 21:14 ImreW 阅读(14) 评论(0) 推荐(0)
摘要:一、QGridLayout(表格布局) (一)使用QGridLayout控件的思路 在新建QGridLayout对象之前,应该先将在将使用到的控件进行初始化。 1.初始化布局 新建QGridLayout之后,在桌面上就会出现一个网格状的布局,这个布局是看不见的,如下表格一样,那么如何确定这样的表格有 阅读全文
posted @ 2023-02-18 20:04 ImreW 阅读(178) 评论(0) 推荐(0)
摘要:当发生一下情况时会产生绘制事件并调用paintEvent()函数: 1.在窗口部件第一次显示时,系统会自动产生一个绘图事件,从而强制绘制这个窗口部件。 2.当重新调整窗口部件的大小时,系统也会产生一个绘制事件。 3.当窗口部件被其他窗口部件遮挡,然后又再次显示出来的时候,就会对那些隐藏的区域产生一个 阅读全文
posted @ 2023-02-18 16:42 ImreW 阅读(523) 评论(0) 推荐(0)
摘要:(一)delete一个指针之后设置为nullptr原因 我们在用动态内存分配时,可以使用new在动态内存中为对象分配空间并返回一个指向该对象的指针,比如说int* ptr = new int(1);,在自由空间构造一个int型对象,并返回指向该对象的指针给int* ptr。(注意:ptr只是一个变量 阅读全文
posted @ 2023-02-18 16:34 ImreW 阅读(496) 评论(0) 推荐(0)
摘要:1、raise() 将此窗体提升到父窗体堆栈的顶部。在此调用之后,窗体将位于任何重叠的同级窗体的前面。 注意:在使用activateWindow()时,可以调用这个函数来确保窗口被堆叠在顶部。 void QWidget::activateWindow(): 将包含此窗体的顶级窗体设置为活动窗口。活动 阅读全文
posted @ 2023-02-18 14:42 ImreW 阅读(294) 评论(0) 推荐(0)
摘要:(一)介绍 QSound类提供了一种播放.wav声音文件的方法。 (二)部分函数 void QSound::setLoops(int number)//该方法主要设置播放音频的循环次数 void QSound::stop()//停止播放的函数 int QSound::loopsRemaining() 阅读全文
posted @ 2023-02-17 20:40 ImreW 阅读(417) 评论(0) 推荐(0)
摘要:QString是Qt编程中常用的类,除了用作数字量的输入输出之外,QString还有很多其他功能,熟悉这些常见的功能,有助于灵活地实现字符串处理功能。 QString存储字符串采用的是Unicode码,每一个字符是一个16位的QChar,而不是8位的char,所以Qstring处理中文字符没有问题, 阅读全文
posted @ 2023-02-17 14:08 ImreW 阅读(565) 评论(0) 推荐(0)
摘要:(一)窗口类型的选择 在初始化各种窗口的时候,是选择QMainWindow,Qwidget,还是QDialog类型呢?这个主要看该窗口的功能。 如果作为主窗口(比如交互窗口,游戏窗口)存在的话,选择QMainWindow类型最合适,因为QMainWindow可以搭载工具栏和状态栏,这些功能选择组件在 阅读全文
posted @ 2023-02-17 13:24 ImreW 阅读(40) 评论(0) 推荐(0)
摘要:一、VS2019调用QT 解决中文乱码问题 在工程文件的xxx.h开头处添加以下代码: #ifdef WIN32 #pragma execution_character_set("utf-8") #endif 二、文字显示 (一)setAlignment 1.显示按钮上的文字 //按钮上显示的文字 阅读全文
posted @ 2023-02-09 14:58 ImreW 阅读(168) 评论(0) 推荐(0)
摘要:一、设置图片 (一)setIcon 以QPushButton为例,设置按钮的图标可以使用函数setIcon,设置图标大小使用setIconSize。 QPixmap pix; //设置图片固定大小 this->setFixedSize(pix.width(),pix.height()); //设置不 阅读全文
posted @ 2023-02-08 14:13 ImreW 阅读(809) 评论(0) 推荐(0)
摘要:一、介绍 类名 功能介绍 QAbstractAnimation 动画基类 提供基本的动画属性和接口,它有两个子类QVariantAnimation 和QAnimationGroup。 QAbstractAnimation是其他所有类的父类。 它提供了基础的属性,适用于所有的本框架下的动画。 QPro 阅读全文
posted @ 2023-02-08 12:59 ImreW 阅读(191) 评论(0) 推荐(0)
摘要:一、Qt信号和槽机制&emit的使用 (一)相关概念 1.信号(Signal)就是在特定情况下被发射的事件 例如PushButton 最常见的信号就是鼠标单击时发射的 clicked() 信号,一个 ComboBox 最常见的信号是选择的列表项变化时发射的 CurrentIndexChanged() 阅读全文
posted @ 2023-02-07 19:26 ImreW 阅读(250) 评论(0) 推荐(0)
摘要:一、按键属性 (一)Qt::WA_TransparentForMouseEvents 实现鼠标穿透功能,类似“隔空取物、隔山打牛”的效果。 //qwidget.h void setAttribute(Qt::WidgetAttribute, bool on = true); 启用后,此属性将禁止向小 阅读全文
posted @ 2023-02-07 16:45 ImreW 阅读(253) 评论(0) 推荐(0)
摘要:一、qDebug qDebug用于在控制台输出调试信息,主要有以下几种用法。 1、类似c++的cout函数 QString str=“world”; qDebug()<<“hello “<<str<<”!”<<endl; 注:此处endl起到的作用有两个: a、等同于\n换行 b、刷新缓冲区,将缓冲 阅读全文
posted @ 2023-02-07 16:30 ImreW 阅读(378) 评论(0) 推荐(0)
摘要:(一)QPushButton QPushButton继承自 QAbstractButton ,后者继承自 QWidget 。 (二)常用属性和方法 (1) QString text () const: 返回按键上的文字;(2) void setText ( const QString & text 阅读全文
posted @ 2023-02-07 16:23 ImreW 阅读(46) 评论(0) 推荐(0)
摘要:一、基础窗口部件QWidget (一)QWidget类 QWidget类是所有用户界面对象的基类。 QWidget继承自QObject类和QPaintDevice类。QObject是所有支持Qt对象模型的对象的基类,QPaintDevice类是所有可以绘制的对象的基类。 几乎所有的部件都继承自QWi 阅读全文
posted @ 2023-02-07 16:16 ImreW 阅读(104) 评论(0) 推荐(0)
摘要:1.QChar 表示一个字符的类,包含于QtCore 判断: bool isDigit() const;//判断是否是十进制数字('0'-'9')bool isLetter() const;//判断是否是字母bool isNumber() const;//判断是否是数字,包括正负号,小数点等bool 阅读全文
posted @ 2023-02-07 15:52 ImreW 阅读(181) 评论(0) 推荐(0)
摘要:新建好Qt的工程之后,总是会在MainWindow函数中有一行代码 ui->setupUi(this); ui->setupUi(this)是由.ui文件生成的类的构造函数,这个函数的作用是对界面进行初始化,它按照我们在Qt设计器里设计的样子把窗体画出来,把我们在Qt设计器里面定义的信号和槽建立起来 阅读全文
posted @ 2023-02-07 15:29 ImreW 阅读(413) 评论(0) 推荐(0)
摘要:(一)基本使用 timer.setInterval(1000); 设置间隔 connect(&timer, &QTimer::timeout, this, [&](){ ... }); 监听定时器 timer.start(); 开启定时器 timer.stop(); bool ret = timer 阅读全文
posted @ 2023-02-04 15:37 ImreW 阅读(143) 评论(0) 推荐(0)
摘要:1.BeginBatchDraw void BeginBatchDraw():用于开始批量绘图模式。在执行之后,任何绘图操作将暂时不输出到图形窗口,直到调用函数flushBatchDraw或EndBatchDraw。 2.FlushBatchDraw void FlushBatchDraw()voi 阅读全文
posted @ 2023-01-26 20:49 ImreW 阅读(331) 评论(0) 推荐(0)