前言
如果对你有用,请点击收藏,方便下次查看,我发现在Qt使用过程中,在我理解信号和槽这个概念后,在编写槽函数数的时候,发现了自身存在的问题,我的难点是在于当我在编写槽函数的时候,我知道这个槽函数是用来干什么的,但是不知道用什么类,什么函数,因为在qt中的类有很多,每个类下面又有很多函数,导致我不知道该用什么类下面的函数。那么这个问题是通过阅读技术文档来帮助我快速找到这个类和函数,下面总结了一些常用的类和该类常用的一下函数功能
1、常用类
1. 界面控件操作
以下是常见的 Qt Widgets 类的详细列表,按照控件类型分类:
- 基本控件(Buttons and Indicators)
- QPushButton:标准的按钮,用于响应用户点击事件。
- QRadioButton:单选按钮,允许用户从多个选项中选择一个。
- QCheckBox:复选框,允许用户选择或取消选择。
- QToolButton :工具按钮,类似于
QPushButton
,但通常用于工具栏。- QCommandLinkButton:用于呈现命令的链接按钮,类似网页的超链接。
- QButtonGroup:按钮组,管理一组按钮的相互排斥关系(如单选按钮组)。
- 输入控件(Input Widgets)
- QLineEdit:单行文本输入框。
- QTextEdit:多行文本编辑器,支持富文本和纯文本。
- QPlainTextEdit :多行纯文本编辑器,不支持富文本,但性能较
QTextEdit
更好。- QComboBox:组合框,包含一个下拉菜单,允许用户从列表中选择一个选项。
- QSpinBox:用于显示和编辑整数的旋转框。
- QDoubleSpinBox:用于显示和编辑浮点数的旋转框。
- QSlider:滑块,用于选择数值范围内的某个值。
- QDial:旋钮,类似于滑块,但以圆形形式呈现。
- QDateEdit:日期选择编辑框,允许用户选择和编辑日期。
- QTimeEdit:时间选择编辑框,允许用户选择和编辑时间。
- QDateTimeEdit:日期和时间编辑框,结合日期和时间输入。
- QKeySequenceEdit:用于输入键盘快捷键的编辑框。
- 显示控件(Display Widgets)
- QLabel:显示文本或图片的标签。
- QLCDNumber:用于显示数字的 LCD 风格显示器。
- QProgressBar:进度条,显示任务的进度。
- QStatusBar:状态栏,通常在主窗口底部用于显示状态信息。
- QFrame:框架,用于给界面添加视觉元素,比如边框和线条。
- 容器控件(Container Widgets)
- QGroupBox:分组框,用于将多个控件分组。
- QTabWidget:选项卡控件,允许在多个选项卡之间切换内容。
- QStackedWidget:堆叠窗口部件,允许在多个窗口小部件之间切换(只显示一个)。
- QToolBox:工具箱控件,类似于选项卡,但垂直排列,每次显示一个工具面板。
- QScrollArea:滚动区域,允许包含超出可视范围的内容,并提供滚动条。
- QSplitter:分割器,允许用户通过拖动调整布局中控件的大小。
- 列表和视图控件(Item Views and Models)
- QListWidget :用于显示列表项的控件,基于
QListView
的便捷类。- QTreeWidget :用于显示树状结构的控件,基于
QTreeView
的便捷类。- QTableWidget :用于显示二维表格数据的控件,基于
QTableView
的便捷类。- QListView:列表视图,显示基于模型的数据。
- QTreeView:树视图,显示基于模型的分层数据。
- QTableView:表格视图,显示基于模型的二维数据。
- QColumnView:多列视图,显示分级数据,类似于文件管理器中的多列模式。
- QHeaderView:表格或树视图中的表头。
- 菜单和工具栏(Menus and Toolbars)
- QMenuBar:菜单栏,通常用于主窗口,显示菜单项。
- QMenu:菜单,通常用于菜单栏或上下文菜单中,包含多个动作项。
- QToolBar:工具栏,通常放置在窗口顶部,用于放置常用的操作按钮。
- QAction:动作,用于在菜单或工具栏中执行命令。
- 对话框控件(Dialogs)
- QDialog:基本对话框类,所有对话框都从此类派生。
- QMessageBox:消息框,用于显示信息或警告用户。
- QFileDialog:文件对话框,用于打开或保存文件。
- QColorDialog:颜色选择对话框,允许用户选择颜色。
- QFontDialog:字体选择对话框,允许用户选择字体。
- QInputDialog:输入对话框,允许用户输入简单的数据(如字符串或整数)。
- 布局管理器(Layout Managers)
虽然布局管理器不是控件,但它们用于控制界面上控件的排列和大小调整。
- QHBoxLayout:水平布局,控件从左到右排列。
- QVBoxLayout:垂直布局,控件从上到下排列。
- QGridLayout:网格布局,控件按行和列排列。
- QFormLayout:表单布局,通常用于排列标签和输入控件对。
- 特殊控件
- QCalendarWidget:日历控件,显示月份、日期等,允许用户选择日期。
- QDockWidget:可停靠的窗口部件,通常用于创建可浮动的工具窗口。
- QTextBrowser:超文本浏览器,支持显示 HTML 和富文本。
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帮助文档