Qt中常用类和函数解释

前言

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

1、常用类

1. 界面控件操作

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

  1. 基本控件(Buttons and Indicators)
  • QPushButton:标准的按钮,用于响应用户点击事件。
  • QRadioButton:单选按钮,允许用户从多个选项中选择一个。
  • QCheckBox:复选框,允许用户选择或取消选择。
  • QToolButton :工具按钮,类似于 QPushButton,但通常用于工具栏。
  • QCommandLinkButton:用于呈现命令的链接按钮,类似网页的超链接。
  • QButtonGroup:按钮组,管理一组按钮的相互排斥关系(如单选按钮组)。
  1. 输入控件(Input Widgets)
  • QLineEdit:单行文本输入框。
  • QTextEdit:多行文本编辑器,支持富文本和纯文本。
  • QPlainTextEdit :多行纯文本编辑器,不支持富文本,但性能较 QTextEdit 更好。
  • QComboBox:组合框,包含一个下拉菜单,允许用户从列表中选择一个选项。
  • QSpinBox:用于显示和编辑整数的旋转框。
  • QDoubleSpinBox:用于显示和编辑浮点数的旋转框。
  • QSlider:滑块,用于选择数值范围内的某个值。
  • QDial:旋钮,类似于滑块,但以圆形形式呈现。
  • QDateEdit:日期选择编辑框,允许用户选择和编辑日期。
  • QTimeEdit:时间选择编辑框,允许用户选择和编辑时间。
  • QDateTimeEdit:日期和时间编辑框,结合日期和时间输入。
  • QKeySequenceEdit:用于输入键盘快捷键的编辑框。
  1. 显示控件(Display Widgets)
  • QLabel:显示文本或图片的标签。
  • QLCDNumber:用于显示数字的 LCD 风格显示器。
  • QProgressBar:进度条,显示任务的进度。
  • QStatusBar:状态栏,通常在主窗口底部用于显示状态信息。
  • QFrame:框架,用于给界面添加视觉元素,比如边框和线条。
  1. 容器控件(Container Widgets)
  • QGroupBox:分组框,用于将多个控件分组。
  • QTabWidget:选项卡控件,允许在多个选项卡之间切换内容。
  • QStackedWidget:堆叠窗口部件,允许在多个窗口小部件之间切换(只显示一个)。
  • QToolBox:工具箱控件,类似于选项卡,但垂直排列,每次显示一个工具面板。
  • QScrollArea:滚动区域,允许包含超出可视范围的内容,并提供滚动条。
  • QSplitter:分割器,允许用户通过拖动调整布局中控件的大小。
  1. 列表和视图控件(Item Views and Models)
  • QListWidget :用于显示列表项的控件,基于 QListView 的便捷类。
  • QTreeWidget :用于显示树状结构的控件,基于 QTreeView 的便捷类。
  • QTableWidget :用于显示二维表格数据的控件,基于 QTableView 的便捷类。
  • QListView:列表视图,显示基于模型的数据。
  • QTreeView:树视图,显示基于模型的分层数据。
  • QTableView:表格视图,显示基于模型的二维数据。
  • QColumnView:多列视图,显示分级数据,类似于文件管理器中的多列模式。
  • QHeaderView:表格或树视图中的表头。
  1. 菜单和工具栏(Menus and Toolbars)
  • QMenuBar:菜单栏,通常用于主窗口,显示菜单项。
  • QMenu:菜单,通常用于菜单栏或上下文菜单中,包含多个动作项。
  • QToolBar:工具栏,通常放置在窗口顶部,用于放置常用的操作按钮。
  • QAction:动作,用于在菜单或工具栏中执行命令。
  1. 对话框控件(Dialogs)
  • QDialog:基本对话框类,所有对话框都从此类派生。
  • QMessageBox:消息框,用于显示信息或警告用户。
  • QFileDialog:文件对话框,用于打开或保存文件。
  • QColorDialog:颜色选择对话框,允许用户选择颜色。
  • QFontDialog:字体选择对话框,允许用户选择字体。
  • QInputDialog:输入对话框,允许用户输入简单的数据(如字符串或整数)。
  1. 布局管理器(Layout Managers)

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

  • QHBoxLayout:水平布局,控件从左到右排列。
  • QVBoxLayout:垂直布局,控件从上到下排列。
  • QGridLayout:网格布局,控件按行和列排列。
  • QFormLayout:表单布局,通常用于排列标签和输入控件对。
  1. 特殊控件
  • QCalendarWidget:日历控件,显示月份、日期等,允许用户选择日期。
  • QDockWidget:可停靠的窗口部件,通常用于创建可浮动的工具窗口。
  • QTextBrowser:超文本浏览器,支持显示 HTML 和富文本。

2. 窗口操作

  1. 窗口操作(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帮助文档

相关推荐
蜀黍@猿30 分钟前
【C++ 基础】从C到C++有哪些变化
c++
Am心若依旧40931 分钟前
[c++11(二)]Lambda表达式和Function包装器及bind函数
开发语言·c++
明月看潮生34 分钟前
青少年编程与数学 02-004 Go语言Web编程 20课题、单元测试
开发语言·青少年编程·单元测试·编程与数学·goweb
zh路西法41 分钟前
【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(一):从电梯出发的状态模式State Pattern
c++·决策树·状态模式
大G哥43 分钟前
java提高正则处理效率
java·开发语言
VBA63371 小时前
VBA技术资料MF243:利用第三方软件复制PDF数据到EXCEL
开发语言
轩辰~1 小时前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
小_太_阳1 小时前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
向宇it1 小时前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎
lxyzcm1 小时前
C++23新特性解析:[[assume]]属性
java·c++·spring boot·c++23