随笔分类 -  C++ / Qt

1
摘要:Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理。 (一)介绍 假设我们有一个CustomerInfoDialog控件,由一些QLineEdit控件组成。我们希望使用Space键得到下一个QLineEdit的输入焦点。一个最直接 阅读全文
posted @ 2023-02-22 12:44 ImreW 阅读(198) 评论(0) 推荐(0) 编辑
摘要:(一)解决方案 1.方案 在 student.h 中 #ifndef STUDENT_H #define STUDENT_H #include <QObject> class Student : public QObject { Q_OBJECT public: explicit Student(Q 阅读全文
posted @ 2023-02-21 21:54 ImreW 阅读(40) 评论(0) 推荐(0) 编辑
摘要:(一)整个窗体 targetForm->setWindowOpacity() ; 函数即可实现,效果为窗体及窗体内所有控件都透明化了 (二)自定义页面或控件 当设置一个QWidget(一般自定义页面或控件时用QWidget)时,直接设置其窗体透明度无法实现透明效果,目前找到的方法是将整个QWidge 阅读全文
posted @ 2023-02-21 21:30 ImreW 阅读(945) 评论(0) 推荐(0) 编辑
摘要:一、QGridLayout(表格布局) (一)使用QGridLayout控件的思路 在新建QGridLayout对象之前,应该先将在将使用到的控件进行初始化。 1.初始化布局 新建QGridLayout之后,在桌面上就会出现一个网格状的布局,这个布局是看不见的,如下表格一样,那么如何确定这样的表格有 阅读全文
posted @ 2023-02-18 20:04 ImreW 阅读(133) 评论(0) 推荐(0) 编辑
摘要:当发生一下情况时会产生绘制事件并调用paintEvent()函数: 1.在窗口部件第一次显示时,系统会自动产生一个绘图事件,从而强制绘制这个窗口部件。 2.当重新调整窗口部件的大小时,系统也会产生一个绘制事件。 3.当窗口部件被其他窗口部件遮挡,然后又再次显示出来的时候,就会对那些隐藏的区域产生一个 阅读全文
posted @ 2023-02-18 16:42 ImreW 阅读(436) 评论(0) 推荐(0) 编辑
摘要:1、raise() 将此窗体提升到父窗体堆栈的顶部。在此调用之后,窗体将位于任何重叠的同级窗体的前面。 注意:在使用activateWindow()时,可以调用这个函数来确保窗口被堆叠在顶部。 void QWidget::activateWindow(): 将包含此窗体的顶级窗体设置为活动窗口。活动 阅读全文
posted @ 2023-02-18 14:42 ImreW 阅读(203) 评论(0) 推荐(0) 编辑
摘要:(一)介绍 QSound类提供了一种播放.wav声音文件的方法。 (二)部分函数 void QSound::setLoops(int number)//该方法主要设置播放音频的循环次数 void QSound::stop()//停止播放的函数 int QSound::loopsRemaining() 阅读全文
posted @ 2023-02-17 20:40 ImreW 阅读(334) 评论(0) 推荐(0) 编辑
摘要:QString是Qt编程中常用的类,除了用作数字量的输入输出之外,QString还有很多其他功能,熟悉这些常见的功能,有助于灵活地实现字符串处理功能。 QString存储字符串采用的是Unicode码,每一个字符是一个16位的QChar,而不是8位的char,所以Qstring处理中文字符没有问题, 阅读全文
posted @ 2023-02-17 14:08 ImreW 阅读(493) 评论(0) 推荐(0) 编辑
摘要:(一)窗口类型的选择 在初始化各种窗口的时候,是选择QMainWindow,Qwidget,还是QDialog类型呢?这个主要看该窗口的功能。 如果作为主窗口(比如交互窗口,游戏窗口)存在的话,选择QMainWindow类型最合适,因为QMainWindow可以搭载工具栏和状态栏,这些功能选择组件在 阅读全文
posted @ 2023-02-17 13:24 ImreW 阅读(25) 评论(0) 推荐(0) 编辑
摘要:一、VS2019调用QT 解决中文乱码问题 在工程文件的xxx.h开头处添加以下代码: #ifdef WIN32 #pragma execution_character_set("utf-8") #endif 二、文字显示 (一)setAlignment 1.显示按钮上的文字 //按钮上显示的文字 阅读全文
posted @ 2023-02-09 14:58 ImreW 阅读(137) 评论(0) 推荐(0) 编辑
摘要:一、设置图片 (一)setIcon 以QPushButton为例,设置按钮的图标可以使用函数setIcon,设置图标大小使用setIconSize。 QPixmap pix; //设置图片固定大小 this->setFixedSize(pix.width(),pix.height()); //设置不 阅读全文
posted @ 2023-02-08 14:13 ImreW 阅读(723) 评论(0) 推荐(0) 编辑
摘要:一、介绍 类名 功能介绍 QAbstractAnimation 动画基类 提供基本的动画属性和接口,它有两个子类QVariantAnimation 和QAnimationGroup。 QAbstractAnimation是其他所有类的父类。 它提供了基础的属性,适用于所有的本框架下的动画。 QPro 阅读全文
posted @ 2023-02-08 12:59 ImreW 阅读(161) 评论(0) 推荐(0) 编辑
摘要:一、Qt信号和槽机制&emit的使用 (一)相关概念 1.信号(Signal)就是在特定情况下被发射的事件 例如PushButton 最常见的信号就是鼠标单击时发射的 clicked() 信号,一个 ComboBox 最常见的信号是选择的列表项变化时发射的 CurrentIndexChanged() 阅读全文
posted @ 2023-02-07 19:26 ImreW 阅读(178) 评论(0) 推荐(0) 编辑
摘要:一、按键属性 (一)Qt::WA_TransparentForMouseEvents 实现鼠标穿透功能,类似“隔空取物、隔山打牛”的效果。 //qwidget.h void setAttribute(Qt::WidgetAttribute, bool on = true); 启用后,此属性将禁止向小 阅读全文
posted @ 2023-02-07 16:45 ImreW 阅读(163) 评论(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 阅读(322) 评论(0) 推荐(0) 编辑
摘要:(一)QPushButton QPushButton继承自 QAbstractButton ,后者继承自 QWidget 。 (二)常用属性和方法 (1) QString text () const: 返回按键上的文字;(2) void setText ( const QString & text 阅读全文
posted @ 2023-02-07 16:23 ImreW 阅读(35) 评论(0) 推荐(0) 编辑
摘要:一、基础窗口部件QWidget (一)QWidget类 QWidget类是所有用户界面对象的基类。 QWidget继承自QObject类和QPaintDevice类。QObject是所有支持Qt对象模型的对象的基类,QPaintDevice类是所有可以绘制的对象的基类。 几乎所有的部件都继承自QWi 阅读全文
posted @ 2023-02-07 16:16 ImreW 阅读(84) 评论(0) 推荐(0) 编辑
摘要:1.QChar 表示一个字符的类,包含于QtCore 判断: bool isDigit() const;//判断是否是十进制数字('0'-'9')bool isLetter() const;//判断是否是字母bool isNumber() const;//判断是否是数字,包括正负号,小数点等bool 阅读全文
posted @ 2023-02-07 15:52 ImreW 阅读(138) 评论(0) 推荐(0) 编辑
摘要:新建好Qt的工程之后,总是会在MainWindow函数中有一行代码 ui->setupUi(this); ui->setupUi(this)是由.ui文件生成的类的构造函数,这个函数的作用是对界面进行初始化,它按照我们在Qt设计器里设计的样子把窗体画出来,把我们在Qt设计器里面定义的信号和槽建立起来 阅读全文
posted @ 2023-02-07 15:29 ImreW 阅读(332) 评论(0) 推荐(0) 编辑
摘要:(一)基本使用 timer.setInterval(1000); 设置间隔 connect(&timer, &QTimer::timeout, this, [&](){ ... }); 监听定时器 timer.start(); 开启定时器 timer.stop(); bool ret = timer 阅读全文
posted @ 2023-02-04 15:37 ImreW 阅读(70) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示