前言
如果对你有用,请点击收藏,方便下次查看,我发现在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帮助文档