day2 QT按钮与容器

news/2024/11/9 1:00:14/

目录

按钮 

1、QPushButton

2、QToolButton

3、QRadioButton

4、QCheckBox

示例

容器

 ​编辑

1. QGroupBox(分组框)

2. QScrollArea(滚动区域)

3. QToolBox(工具箱)

4. QTabWidget(选项卡控件)

5. QStackedWidget(堆叠控件)

6. QFrame(框架控件)

7. QWidget(窗口部件)

8. QMdiArea(多文档界面区域)

9. QDockWidget(停靠控件)


按钮 

1、QPushButton

  • QPushButton是一个普通的按钮类,用于创建常规按钮。
  • 可以设置按钮的文本、图标、样式等属性,并与点击事件相关联。

2、QToolButton

  • QToolButton是一个工具按钮类,用于创建带有图标或文本的工具按钮。
  • 与QPushButton不同的是,QToolButton通常用于工具栏或工具箱中,可以包含下拉菜单、快捷方式等功能。

3、QRadioButton

  • QRadioButton是一个单选按钮类,用于创建一组互斥的选项。
  • 当选择一个单选按钮时,其他单选按钮将自动取消选择。
  • 可以通过将单选按钮放在QButtonGroup中来建立同一组的单选按钮。

4、QCheckBox

  • QCheckBox是一个复选框类,用于创建可以选择或取消选择的项目。
  • 与QRadioButton不同的是,QCheckBox不互斥,可以同时选择多个复选框。

示例

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>#include <QLineEdit>
#include <QPushButton>
#include <QCheckBox>#include <QWidget>class Widget : public QWidget
{Q_OBJECT
public slots:void setpass(bool flag){if(!flag)le->setEchoMode(QLineEdit::Password);elsele->setEchoMode(QLineEdit::Normal);}public:Widget(QWidget *parent = 0);~Widget();private:QLineEdit *le;QCheckBox *ck;QPushButton *pb;
};#endif // WIDGET_H
#include "widget.h"
#include <QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent)
{le = new QLineEdit;//le->setEchoMode(QLineEdit::Password);ck = new QCheckBox("show passwd");pb = new QPushButton("clear");QVBoxLayout *vbox = new QVBoxLayout;vbox->addWidget(le);vbox->addWidget(ck);vbox->addWidget(pb);this->setLayout(vbox);connect(pb, SIGNAL(clicked(bool)), le, SLOT(clear()));connect(ck, SIGNAL(clicked(bool)), this, SLOT(setpass(bool)));}Widget::~Widget()
{}

容器

 

1. QGroupBox(分组框)

  • QGroupBox是用于在界面上创建一个带有标题的分组框
  • 它可以用于将相关的控件或选项分组显示,提高用户界面的可读性和可理解性。

2. QScrollArea(滚动区域)

  • QScrollArea提供一个滚动视图用于显示比可见区域更大的内容
  • 可以将需要滚动显示的控件放置在QScrollArea内部,使用户可以通过滚动来查看全部内容。

3. QToolBox(工具箱)

  • QToolBox是一个可以包含多个部件或选项卡的容器控件
  • 它以堆叠的方式显示多个部件,并提供一个选项卡或树状结构来切换不同的部件。

4. QTabWidget(选项卡控件)

  • QTabWidget是一个包含多个选项卡的容器控件。
  • 每个选项卡可以关联一个窗口部件,通过切换选项卡可以显示不同的内容。

5. QStackedWidget(堆叠控件)

  • QStackedWidget是一个堆叠式的容器控件,用于存储和切换多个部件。
  • 每个部件被堆叠在一起,只显示当前选中的部件,其他部件隐藏。

6. QFrame(框架控件)

  • QFrame是一个基础的可视控件类,用于创建具有框架样式的矩形区域。
  • 它可以用于容纳其他控件,也可以显示边框、阴影等装饰效果。

7. QWidget(窗口部件)

  • QWidget是Qt中所有可视化控件的基类,也可以作为容器控件使用。
  • 它提供了绘图、事件处理和布局管理等功能,可用于构建应用程序的用户界面。

8. QMdiArea(多文档界面区域)

  • QMdiArea是一个多文档界面容器,用于显示和管理多个子窗口。
  • 它提供了窗口的布局、切换、激活等功能,适用于创建MDI风格的应用程序。

9. QDockWidget(停靠控件)

  • QDockWidget是一个可停靠的容器控件,用于在主窗口中创建可拖拽和停靠的部件。
  • 它可以将各种部件、工具栏等放置在主窗口的边缘位置。
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QToolBox>
#include <QPushButton>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = 0);~Widget();private:QToolBox *tb;QPushButton *pb[3];
};#endif // WIDGET_H
#include "widget.h"
#include <QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent)
{tb = new QToolBox;pb[0] = new QPushButton("aaa");pb[1] = new QPushButton("bbb");pb[2] = new QPushButton("ccc");tb->addItem(pb[0], "1111");tb->addItem(pb[1], "2222");tb->addItem(pb[2], "3333");QVBoxLayout *mainbox = new QVBoxLayout;mainbox->addWidget(tb);this->setLayout(mainbox);
}Widget::~Widget()
{}

 

 


http://www.ppmy.cn/news/703808.html

相关文章

视频编码之软解与硬解区别

视频解码分为软解和硬解。 所谓“软解”就是通过软件让CPU进行视频解码处理&#xff1b;而“硬解”是指不依赖于CPU&#xff0c;通过专用的设备&#xff08;子卡&#xff09;单独完成视频解码&#xff0c;比如曾经的VCD/DVD解压卡、视频压缩卡都被冠以“硬解”的称号。现在实现…

Android视频播放软解与硬解的区别

硬解&#xff0c;用自带播放器播放&#xff0c;android中的VideoView软解&#xff0c;使用音视频解码库&#xff0c;比如FFmpeg 一、硬解码 硬解&#xff1a;就是调用GPU的专门模块编码来解&#xff0c;减少CPU运算&#xff0c;对CPU等硬件要求也相对低点。软解需要CPU运算&a…

视频解码硬解和软解的区别及如何选择

视频解码硬解和软解的区别及如何选择 硬解 字面上理解就是用硬件解码。通过显卡的视频加速功能对高清视频进行解码。可以理解为有一个专门的电路板来进行视频的解码工作&#xff0c;是依靠GPU。调用GPU的专门模块编码来解码&#xff0c;减少CPU运算。显卡核心GPU拥有独特的计…

软解和硬解

软解和硬解 软解硬解硬的优劣区别软解视频软解软件解锁硬件方面软件方面 软解 可以理解为利用软件本身解码。比如播放器本身。但是实际上软解还是得硬件支持。这个硬件就是CPU。 在软解码过程中&#xff0c;需要对大量的视频信息进行运算&#xff0c;所以对CPU处理性能的要求…

硬解和软解的区别

硬解和软解的区别 工作方式不同 硬件解码就是通过显卡的视频加速功能对高清视频进行解码。显卡的GPU/VPU要比CPU更适合这类大数据量的、低难度的重复工作 软解码是纯粹依靠CPU来解码的方式&#xff0c;将解压高清编码的任务交给CPU。 解码速度不同 硬解码最大的优点就是速度…

【Spring Cloud Alibaba】OpenFeign的使用

Feign is a Java to HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. Feign’s first goal was reducing the complexity of binding Denominator uniformly to HTTP APIs regardless of ReSTfulness. Feign是一个Java到HTTP的客户端绑定器&#xff0c;灵…

深入详细了解CAD:概念、功能和应用

目录 1. 请解释CAD是什么&#xff0c;以及它在工程设计中的作用。2. 请列举几种常见的CAD软件&#xff0c;并简要介绍它们的特点。3. 什么是CAD模型&#xff1f;请解释CAD模型的不同类型。4. 在CAD中&#xff0c;什么是图层&#xff1f;请解释图层在设计中的作用。5. 请解释CAD…

量子力学与自由意志

第一个观点&#xff1a;是有造物主存在的&#xff0c;人不是偶然出险的 第二个观点&#xff1a;人是否具备自由意志&#xff1f;&#xff08;人可以违背生物定律做出自己的选择&#xff09; 量子力学的微观实验&#xff1a;因果链可以倒置 唯物主义与唯心主义到底谁是对的&am…