Qt中常用类和函数解释

news/2024/10/3 14:03:08 标签: 开发语言, qt, c++

前言

        如果对你有用,请点击收藏,方便下次查看,我发现在Qt使用过程中,在我理解信号和槽这个概念后,在编写槽函数数的时候,发现了自身存在的问题,我的难点是在于当我在编写槽函数的时候,我知道这个槽函数是用来干什么的,但是不知道用什么类,什么函数,因为在qt中的类有很多,每个类下面又有很多函数,导致我不知道该用什么类下面的函数。那么这个问题是通过阅读技术文档来帮助我快速找到这个类和函数,下面总结了一些常用的类和该类常用的一下函数功能

1、常用类

  1. 界面控件操作

 

以下是常见的 Qt Widgets 类的详细列表,按照控件类型分类:

1. 基本控件(Buttons and Indicators)

  • QPushButton:标准的按钮,用于响应用户点击事件。
  • QRadioButton:单选按钮,允许用户从多个选项中选择一个。
  • QCheckBox:复选框,允许用户选择或取消选择。
  • QToolButton:工具按钮,类似于 QPushButton,但通常用于工具栏。
  • QCommandLinkButton:用于呈现命令的链接按钮,类似网页的超链接。
  • QButtonGroup:按钮组,管理一组按钮的相互排斥关系(如单选按钮组)。

2. 输入控件(Input Widgets)

  • QLineEdit:单行文本输入框。
  • QTextEdit:多行文本编辑器,支持富文本和纯文本。
  • QPlainTextEdit:多行纯文本编辑器,不支持富文本,但性能较 QTextEdit 更好。
  • QComboBox:组合框,包含一个下拉菜单,允许用户从列表中选择一个选项。
  • QSpinBox:用于显示和编辑整数的旋转框。
  • QDoubleSpinBox:用于显示和编辑浮点数的旋转框。
  • QSlider:滑块,用于选择数值范围内的某个值。
  • QDial:旋钮,类似于滑块,但以圆形形式呈现。
  • QDateEdit:日期选择编辑框,允许用户选择和编辑日期。
  • QTimeEdit:时间选择编辑框,允许用户选择和编辑时间。
  • QDateTimeEdit:日期和时间编辑框,结合日期和时间输入。
  • QKeySequenceEdit:用于输入键盘快捷键的编辑框。

3. 显示控件(Display Widgets)

  • QLabel:显示文本或图片的标签。
  • QLCDNumber:用于显示数字的 LCD 风格显示器。
  • QProgressBar:进度条,显示任务的进度。
  • QStatusBar:状态栏,通常在主窗口底部用于显示状态信息。
  • QFrame:框架,用于给界面添加视觉元素,比如边框和线条。

4. 容器控件(Container Widgets)

  • QGroupBox:分组框,用于将多个控件分组。
  • QTabWidget:选项卡控件,允许在多个选项卡之间切换内容。
  • QStackedWidget:堆叠窗口部件,允许在多个窗口小部件之间切换(只显示一个)。
  • QToolBox:工具箱控件,类似于选项卡,但垂直排列,每次显示一个工具面板。
  • QScrollArea:滚动区域,允许包含超出可视范围的内容,并提供滚动条。
  • QSplitter:分割器,允许用户通过拖动调整布局中控件的大小。

5. 列表和视图控件(Item Views and Models)

  • QListWidget:用于显示列表项的控件,基于 QListView 的便捷类。
  • QTreeWidget:用于显示树状结构的控件,基于 QTreeView 的便捷类。
  • QTableWidget:用于显示二维表格数据的控件,基于 QTableView 的便捷类。
  • QListView:列表视图,显示基于模型的数据。
  • QTreeView:树视图,显示基于模型的分层数据。
  • QTableView:表格视图,显示基于模型的二维数据。
  • QColumnView:多列视图,显示分级数据,类似于文件管理器中的多列模式。
  • QHeaderView:表格或树视图中的表头。

6. 菜单和工具栏(Menus and Toolbars)

  • QMenuBar:菜单栏,通常用于主窗口,显示菜单项。
  • QMenu:菜单,通常用于菜单栏或上下文菜单中,包含多个动作项。
  • QToolBar:工具栏,通常放置在窗口顶部,用于放置常用的操作按钮。
  • QAction:动作,用于在菜单或工具栏中执行命令。

7. 对话框控件(Dialogs)

  • QDialog:基本对话框类,所有对话框都从此类派生。
  • QMessageBox:消息框,用于显示信息或警告用户。
  • QFileDialog:文件对话框,用于打开或保存文件。
  • QColorDialog:颜色选择对话框,允许用户选择颜色。
  • QFontDialog:字体选择对话框,允许用户选择字体。
  • QInputDialog:输入对话框,允许用户输入简单的数据(如字符串或整数)。

8. 布局管理器(Layout Managers)

虽然布局管理器不是控件,但它们用于控制界面上控件的排列和大小调整。

  • QHBoxLayout:水平布局,控件从左到右排列。
  • QVBoxLayout:垂直布局,控件从上到下排列。
  • QGridLayout:网格布局,控件按行和列排列。
  • QFormLayout:表单布局,通常用于排列标签和输入控件对。

9. 特殊控件

  • QCalendarWidget:日历控件,显示月份、日期等,允许用户选择日期。
  • QDockWidget:可停靠的窗口部件,通常用于创建可浮动的工具窗口。
  • QTextBrowser:超文本浏览器,支持显示 HTML 和富文本。

        2. 窗口操作

2. 窗口操作(Window Management Classes)

  • QMainWindow:主窗口类。
  • QDialog:对话框类。
  • QMessageBox:消息框类。
  • QFileDialog:文件选择对话框。
  • QColorDialog:颜色选择对话框。
  • QFontDialog:字体选择对话框。
  • QInputDialog:输入对话框。
  • QWidget:所有窗口部件的基类。
  • QDockWidget:可停靠的窗口部件。
  • QStatusBar:状态栏,显示状态信息。
  • QToolBar:工具栏,包含工具按钮。
  • QMenuBar:菜单栏。
  • QMenu:菜单,通常包含多个动作项。
  • QAction:菜单或工具栏中的操作项。

        3. 文件操作

  • QFile:用于文件的读写操作。
  • QTextStream:用于以文本模式读写文件。
  • QDataStream:用于以二进制模式读写数据。
  • QDir:用于操作目录(如创建、删除、遍历目录等)。
  • QFileInfo:提供有关文件和目录的详细信息。
  • QFileDialog:文件选择对话框。

        4. 定时器

 

  • QTimer:定时器类,用于创建和管理定时任务。
  • QElapsedTimer:用于测量经过时间的定时器。
  • QBasicTimer:轻量级的定时器,通常用于自定义事件循环的简单任务。

        5. 网络操作

 

  • QNetworkAccessManager:处理网络请求(如 HTTP GET/POST 请求)。
  • QNetworkRequest:用于描述网络请求(URL、头信息等)。
  • QNetworkReply:表示网络请求的响应。
  • QTcpSocket:用于 TCP 客户端通信。
  • QTcpServer:用于创建 TCP 服务器,接受客户端连接。
  • QUdpSocket:用于 UDP 通信。
  • QNetworkSession:管理网络会话。
  • QHostInfo:提供主机名和 IP 地址的解析功能。
  • QAbstractSocket:TCP 和 UDP 套接字的基类。
  • QWebSocket:用于 WebSocket 通信。
  • QWebSocketServer:用于创建 WebSocket 服务器。
  • QSslSocket:支持 SSL/TLS 的套接字通信类。

2、这些类的常用函数解释

 

1. 窗口操作类(Window Management Classes)

QMainWindow

  • setCentralWidget(QWidget *widget):设置主窗口的中心小部件。
  • menuBar():返回主窗口的菜单栏。
  • statusBar():返回主窗口的状态栏。
  • addToolBar(QToolBar *toolbar):在主窗口中添加工具栏。
  • setMenuBar(QMenuBar *menubar):设置主窗口的菜单栏。
  • showMaximized():以最大化的形式显示窗口。
  • showMinimized():以最小化的形式显示窗口。
  • setWindowTitle(const QString &title):设置窗口的标题。
  • close():关闭窗口。

QDialog

  • exec():以模态方式显示对话框,并阻塞直到关闭。
  • accept():接受对话框并关闭(通常与“确定”按钮关联)。
  • reject():拒绝对话框并关闭(通常与“取消”按钮关联)。
  • open():以非模态方式打开对话框。
  • setModal(bool modal):设置对话框是否为模态。

QMessageBox

  • information(QWidget *parent, const QString &title, const QString &text):显示信息框。
  • warning(QWidget *parent, const QString &title, const QString &text):显示警告框。
  • critical(QWidget *parent, const QString &title, const QString &text):显示错误框。
  • question(QWidget *parent, const QString &title, const QString &text):显示带有问题的对话框。
  • setText(const QString &text):设置消息框的主文本。
  • setInformativeText(const QString &text):设置附加的说明文本。

QFileDialog

  • getOpenFileName(QWidget *parent, const QString &caption, const QString &dir, const QString &filter):打开文件选择对话框,并返回所选文件路径。
  • getSaveFileName(QWidget *parent, const QString &caption, const QString &dir, const QString &filter):打开保存文件对话框,并返回保存路径。
  • getExistingDirectory(QWidget *parent, const QString &caption, const QString &dir):打开选择文件夹对话框,并返回选择的路径。

QColorDialog

  • getColor(const QColor &initial, QWidget *parent):打开颜色选择对话框,并返回选定的颜色。
  • setCurrentColor(const QColor &color):设置当前选定的颜色。

QFontDialog

  • getFont(bool *ok, const QFont &initial, QWidget *parent):打开字体选择对话框,并返回选定的字体。
  • setCurrentFont(const QFont &font):设置当前选定的字体。

QInputDialog

  • getText(QWidget *parent, const QString &title, const QString &label):打开输入对话框,并返回用户输入的文本。
  • getInt(QWidget *parent, const QString &title, const QString &label):打开输入对话框,并返回用户输入的整数。
  • getDouble(QWidget *parent, const QString &title, const QString &label):打开输入对话框,并返回用户输入的浮点数。

QWidget

  • show():显示窗口或控件。
  • hide():隐藏窗口或控件。
  • close():关闭窗口。
  • setWindowTitle(const QString &title):设置窗口标题。
  • resize(int width, int height):调整窗口大小。
  • move(int x, int y):移动窗口位置。

QDockWidget

  • setWidget(QWidget *widget):设置停靠窗口的主要小部件。
  • setFloating(bool floating):设置窗口是否浮动。
  • toggleViewAction():返回一个用于显示或隐藏停靠窗口的动作。

QStatusBar

  • showMessage(const QString &text, int timeout = 0):在状态栏上显示消息。
  • clearMessage():清除当前显示的消息。
  • addWidget(QWidget *widget):在状态栏中添加小部件。

QToolBar

  • addAction(QAction *action):在工具栏中添加动作。
  • addWidget(QWidget *widget):在工具栏中添加小部件。
  • clear():清除工具栏中的所有动作和小部件。

QMenuBar

  • addMenu(QMenu *menu):在菜单栏中添加一个菜单。
  • addAction(QAction *action):在菜单栏中添加一个动作。

QMenu

  • addAction(QAction *action):在菜单中添加一个动作。
  • addSeparator():在菜单中添加一个分隔符。
  • exec():显示上下文菜单。

QAction

  • setText(const QString &text):设置动作的文本。
  • setIcon(const QIcon &icon):设置动作的图标。
  • triggered(bool checked = false):当动作被触发时发出信号。

2. 文件操作类(File Handling Classes)

QFile

  • open(QIODevice::OpenMode mode):打开文件。
  • readAll():读取文件中的所有数据。
  • write(const QByteArray &data):向文件写入数据。
  • close():关闭文件。
  • exists():检查文件是否存在。
  • remove():删除文件。
  • rename(const QString &newName):重命名文件。

QTextStream

  • setDevice(QIODevice *device):设置文本流使用的设备。
  • readLine():从文本流中读取一行。
  • readAll():读取所有文本。
  • operator<<:将数据写入文本流。
  • operator>>:从文本流中读取数据。

QDataStream

  • setDevice(QIODevice *device):设置数据流使用的设备。
  • operator<<:向数据流写入二进制数据。
  • operator>>:从数据流中读取二进制数据。

QDir

  • exists(const QString &dirPath):检查目录是否存在。
  • mkdir(const QString &dirName):创建目录。
  • rmdir(const QString &dirName):删除目录。
  • entryList(QDir::Filters filters):返回目录中的文件列表。

QFileInfo

  • absoluteFilePath():返回文件的绝对路径。
  • isDir():检查文件是否为目录。
  • isFile():检查是否为普通文件。
  • lastModified():返回文件的最后修改时间。

3. 定时器类(Timers Classes)

QTimer

  • start(int msec):启动定时器,每隔指定的毫秒数触发一次。
  • stop():停止定时器。
  • setInterval(int msec):设置定时器的间隔时间。
  • timeout():定时器超时时发出信号。

QElapsedTimer

  • start():启动计时器。
  • restart():重启计时器并返回上次启动的时间。
  • elapsed():返回计时器启动后经过的时间。
  • isValid():检查计时器是否有效。

QBasicTimer

  • start(int msec, QObject *object):启动基本定时器。
  • stop():停止基本定时器。
  • isActive():检查定时器是否处于激活状态。

4. 网络操作类(Network Handling Classes)

QNetworkAccessManager

  • get(const QNetworkRequest &request):发送 GET 请求。
  • post(const QNetworkRequest &request, const QByteArray &data):发送 POST 请求。
  • put(const QNetworkRequest &request, const QByteArray &data):发送 PUT 请求。
  • deleteResource(const QNetworkRequest &request):发送 DELETE 请求。
  • finished(QNetworkReply *reply):当请求完成时发出信号。

QNetworkRequest

  • setUrl(const QUrl &url):设置请求的 URL。
  • setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value):设置请求头。

QNetworkReply

  • readAll():读取响应中的所有数据。
  • abort():中止网络请求。
  • error():返回请求的错误状态。
  • attribute(QNetworkRequest::Attribute code):获取请求的附加信息。

QTcpSocket

  • connectToHost(const QString &hostName, quint16 port):连接到远程主机。
  • disconnectFromHost():断开与主机的连接。
  • write(const QByteArray &data):向连接写入数据。
  • readAll():读取所有可用数据。

QTcpServer

  • listen(const QHostAddress &address, quint16 port):开始监听传入连接。
  • newConnection():当有新连接时发出信号。
  • close():关闭服务器。

QUdpSocket

  • bind(quint16 port):绑定 UDP 套接字到指定端口。
  • writeDatagram(const QByteArray &data, const QHostAddress &address, quint16 port):发送 UDP 数据报。
  • readDatagram(char *data, qint64 maxSize):接收 UDP 数据报。

 当然这只是小部分的内容,毕竟一个类下面不可能只有这么点函数,如果这上面没有的,可能需要你自己去查看Qt帮助文档

 


http://www.niftyadmin.cn/n/5688494.html

相关文章

鸿蒙harmonyos next flutter混合开发之开发package

​​​​​​ 创建 package flutter create --templatepackage mypackage package代码如下&#xff1a; 创建hello_world.dart ///HelloWorld返回hello world 拼接param class HelloWorld {String helloWorld(String param) > "hello world ${param}"…

卷积神经网络(Convolutional Neural Networks, CNN)

卷积神经网络&#xff08;Convolutional Neural Networks, CNN&#xff09;是深度学习领域中用于处理具有网格结构的输入&#xff08;如图像和视频&#xff09;的神经网络模型。下面以最简单、直观的方式概述CNN的主要流程及其基本概念&#xff1a; 1. 输入层 概念&#xff1a…

Java后端中的敏捷开发实践:测试驱动开发与持续集成

Java后端中的敏捷开发实践&#xff1a;测试驱动开发与持续集成 大家好&#xff0c;我是微赚淘客返利系统3.0的小编&#xff0c;是个冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;我们将深入探讨Java后端开发中的两大敏捷实践&#xff1a;测试驱动…

JS进阶 3——深入面向对象、原型

JS 进阶3——深入面向对象、原型 1.编程思想 面向过程&#xff1a;分析出解决问题的过程&#xff0c;然后用函数将这些步骤一步步封装起来面向对象&#xff1a;将事物分为一个个对象&#xff0c;然后对象之间分工合作 2.构造函数&#xff1a;封装性、面向对象 构造函数方法存…

基于SpringBoot+Vue+MySQL的民宿预订平台

系统展示 用户前台界面 管理员后台界面 商家后台界面 系统背景 随着旅游业的蓬勃发展&#xff0c;民宿作为一种独特的住宿方式&#xff0c;受到了越来越多游客的青睐。然而&#xff0c;传统的民宿预定方式往往存在信息不对称、效率低下等问题&#xff0c;难以满足游客的个性化需…

关于鸿蒙next 调用系统权限麦克风

使用app的时候都清楚&#xff0c;想使用麦克风、摄像头&#xff0c;存储照片等&#xff0c;都需要调用系统的权限&#xff0c;没有手机操作系统权限你也使用不了app所提供的功能&#xff0c;虽然app可以正常打开&#xff0c;但是你需要的功能是没办法使用的。今天把自己在鸿蒙学…

Redis: Sentinel工作原理和故障迁移流程

Sentinel 哨兵几个核心概念 1 ) 定时任务 Sentinel 它是如何工作的&#xff0c;是如何感知到其他的 Sentinel 节点以及 Master/Slave节点的就是通过它的一系列定时任务来做到的&#xff0c;它内部有三个定时任务 第一个就是每一秒每个 Sentinel 对其他 Sentinel 和 Redis 节点…

如何使用 Python 读取数据量庞大的 excel 文件

使用 pandas.read_excel 读取大文件时&#xff0c;的确会遇到性能瓶颈&#xff0c;特别是对于10万行20列这种规模的 .xlsx 文件&#xff0c;常规的 pandas 方法可能会比较慢。 要提高读取速度&#xff0c;关键是找到更高效的方式处理 Excel 文件&#xff0c;特别是在 Python 的…