QT中常用类的成员(2024.8.20更新)

QT中常用类的成员

1. QObject类 是 Qt 框架中所有对象的基类,提供了信号和槽机制、事件处理、对象树和内存管理等功能

QObject 是 Qt 框架中的一个核心类,用于提供对象间通信的信号和槽机制、对象树的内存管理以及运行时类型信息等功能。

QObject 是所有 Qt 对象的基类,许多 Qt 类都直接或间接继承自 QObject。

以下是一些常见的 QObject 继承关系示例:

直接继承:
QWidget:所有 Qt 图形用户界面组件的基类。
QTimer:提供定时器功能。
QThread:用于多线程编程。
QNetworkAccessManager:用于网络请求。

间接继承:
QPushButton:继承自 QAbstractButton,而 QAbstractButton 继承自 QWidget。
QLineEdit:继承自 QWidget。
QMainWindow:继承自 QWidget。
QDialog:继承自 QWidget。

// QObject 类是 Qt 框架中所有对象的基类,提供了信号和槽机制、事件处理、对象树和内存管理等功能。以下是 QObject 类的所有成员函数和枚举类型的详细列表:
QObject
├── QWidget
│    ├── QPushButton
│    ├── QLineEdit
│    ├── QMainWindow
│    └── QDialog
├── QTimer
├── QThread
└── QNetworkAccessManager

// 枚举类型
enum QObject::ConnectionType {
    AutoConnection,       // 自动连接(默认)
    DirectConnection,     // 直接连接
    QueuedConnection,     // 队列连接
    BlockingQueuedConnection, // 阻塞队列连接
    UniqueConnection      // 唯一连接
};

enum QObject::TimerType {
    PreciseTimer,         // 精确计时器
    CoarseTimer,          // 粗略计时器
    VeryCoarseTimer       // 非常粗略计时器
};

// 构造函数
QObject(QObject *parent = nullptr);

// 析构函数
~QObject();

// 公共成员函数
bool blockSignals(bool block); // 阻塞或解除阻塞信号
const QObjectList &children() const; // 返回子对象列表
bool connect(const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type = Qt::AutoConnection) const; // 连接信号和槽
void deleteLater(); // 延迟删除对象
bool disconnect(const char *signal = nullptr, const QObject *receiver = nullptr, const char *method = nullptr); // 断开信号和槽的连接
bool disconnect(const QObject *receiver, const char *method = nullptr); // 断开信号和槽的连接
void dumpObjectInfo(); // 打印对象信息
void dumpObjectTree(); // 打印对象树
QList<QByteArray> dynamicPropertyNames() const; // 返回动态属性名称列表
virtual bool event(QEvent *e); // 事件处理
virtual bool eventFilter(QObject *watched, QEvent *event); // 事件过滤器
T findChild(const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const; // 查找子对象
QList<T> findChildren(const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const; // 查找子对象列表
QList<T> findChildren(const QRegExp &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const; // 查找子对象列表
QList<T> findChildren(const QRegularExpression &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const; // 查找子对象列表
bool inherits(const char *className) const; // 检查是否继承自某个类
void installEventFilter(QObject *filterObj); // 安装事件过滤器
bool isWidgetType() const; // 检查是否是窗口部件类型
bool isWindowType() const; // 检查是否是窗口类型
void killTimer(int id); // 终止计时器
virtual const QMetaObject *metaObject() const; // 返回元对象
void moveToThread(QThread *targetThread); // 移动对象到另一个线程
QString objectName() const; // 返回对象名称
QObject *parent() const; // 返回父对象
QVariant property(const char *name) const; // 返回属性值
void removeEventFilter(QObject *obj); // 移除事件过滤器
void setObjectName(const QString &name); // 设置对象名称
void setParent(QObject *parent); // 设置父对象
bool setProperty(const char *name, const QVariant &value); // 设置属性值
bool signalsBlocked() const; // 检查信号是否被阻塞
int startTimer(int interval, Qt::TimerType timerType = Qt::CoarseTimer); // 启动计时器
QThread *thread() const; // 返回对象所在的线程

2. QMetaObject类 是 Qt 框架中用于描述对象的元数据的类,提供了元数据查询、类信息、属性信息、方法信息等功能

QMetaObject 本身并不直接继承自 QObject,而是通过 Q_OBJECT 宏在编译时自动生成并关联到每个继承自 QObject 的类。

以下是 QMetaObject 的一些关键点和继承关系:

QMetaObject 的生成:
当一个类使用 Q_OBJECT 宏时,Qt 的元对象编译器(MOC)会为该类生成一个 QMetaObject 实例,
并将其关联到该类的静态成员变量 staticMetaObject。

QMetaObject 的使用:
QMetaObject 提供了许多静态方法和成员函数,用于查询和操作对象的元信息,例如:
className():返回类的名称。
superClass():返回父类的 QMetaObject。
method() 和 methodCount():用于访问类的信号和槽方法。
property() 和 propertyCount():用于访问类的属性。

继承关系:
QMetaObject 本身并不直接继承自 QObject,但它与 QObject 紧密相关,每个 QObject 实例都有一个指向其 QMetaObject 的指针。

Q_OBJECT 宏:

Q_OBJECT 宏是 Qt 框架中的一个重要宏,用于启用 Qt 的元对象系统(Meta-Object System)。元对象系统提供了信号和槽机制、运行时类型信息(RTTI)和动态属性系统等功能。
通过使用 Q_OBJECT 宏,Qt 的元对象编译器(MOC)会为类生成必要的代码,以便支持这些功能。

以下是 Q_OBJECT 宏的主要作用和使用方法:

启用信号和槽机制:
信号和槽是 Qt 中用于对象间通信的机制。通过 Q_OBJECT 宏,类可以定义信号和槽,并使用 connect 函数将信号与槽连接起来。

启用运行时类型信息(RTTI):
Q_OBJECT 宏使得类可以在运行时获取其类型信息,包括类名、父类、信号、槽和属性等。

启用动态属性系统:
通过 Q_OBJECT 宏,类可以定义和使用动态属性,这些属性可以在运行时添加和访问。

生成必要的代码:
当类使用 Q_OBJECT 宏时,MOC 会为该类生成额外的 C++ 代码,包括 QMetaObject 实例和一些内部函数,以便支持上述功能。


#include <QObject>
#include <QDebug>

class MyClass : public QObject {
    Q_OBJECT

signals:
    void mySignal();

public slots:
    void mySlot() {
        qDebug() << "Slot called";
    }

};

int main() {
    MyClass obj;
    QObject::connect(&obj, &MyClass::mySignal, &obj, &MyClass::mySlot);
    emit obj.mySignal();  // 这将触发 mySlot
    return 0;
}

在这个示例中,MyClass 继承自 QObject 并使用 Q_OBJECT 宏。
这使得 MyClass 可以定义信号 mySignal 和槽 mySlot,
并通过 connect 函数将信号与槽连接起来。
当 emit obj.mySignal() 被调用时,mySlot 会被触发并输出 "Slot called"。
// QMetaObject 类是 Qt 框架中用于元对象系统的重要类。元对象系统提供了信号和槽机制、运行时类型信息和动态属性系统。以下是 QMetaObject 类的所有成员函数和枚举类型的详细列表:

// 公共成员函数
const QMetaObject *superClass() const; // 返回父类的元对象
QObject *cast(QObject *obj) const; // 将对象转换为当前类的实例
bool inherits(const QMetaObject *metaObject) const; // 检查是否继承自某个元对象
int methodCount() const; // 返回方法数量
int methodOffset() const; // 返回方法偏移量
int indexOfMethod(const char *method) const; // 返回方法的索引
int indexOfSignal(const char *signal) const; // 返回信号的索引
int indexOfSlot(const char *slot) const; // 返回槽的索引
int indexOfEnumerator(const char *name) const; // 返回枚举器的索引
int indexOfClassInfo(const char *name) const; // 返回类信息的索引
int indexOfProperty(const char *name) const; // 返回属性的索引
int indexOfConstructor(const char *constructor) const; // 返回构造函数的索引
QMetaMethod method(int index) const; // 返回指定索引的方法
QMetaEnum enumerator(int index) const; // 返回指定索引的枚举器
QMetaClassInfo classInfo(int index) const; // 返回指定索引的类信息
QMetaProperty property(int index) const; // 返回指定索引的属性
QMetaProperty userProperty() const; // 返回用户属性
QMetaConstructor constructor(int index) const; // 返回指定索引的构造函数
int propertyCount() const; // 返回属性数量
int propertyOffset() const; // 返回属性偏移量
int enumeratorCount() const; // 返回枚举器数量
int enumeratorOffset() const; // 返回枚举器偏移量
int classInfoCount() const; // 返回类信息数量
int classInfoOffset() const; // 返回类信息偏移量
int constructorCount() const; // 返回构造函数数量
bool staticMetacall(QMetaObject::Call call, int id, void **arguments); // 静态元调用
void *extension(QMetaObject::Extension extension, void **arguments = nullptr) const; // 扩展
void activate(QObject *sender, int from_signal_index, int to_signal_index, void **argv); // 激活信号
void activate(QObject *sender, const QMetaObject *, int local_signal_index, void **argv); // 激活信号
void activate(QObject *sender, const QMetaObject *, int from_signal_index, int to_signal_index, void **argv); // 激活信号
void connectSlotsByName(QObject *o); // 按名称连接槽
void connect(const QObject *sender, int signal_index, const QObject *receiver, int method_index, int type = 0, int *types = nullptr); // 连接信号和槽
void disconnect(const QObject *sender, int signal_index, const QObject *receiver, int method_index); // 断开信号和槽的连接
QString className() const; // 返回类名
QString classInfo(const char *name) const; // 返回类信息
QMetaProperty property(const char *name) const; // 返回属性
QMetaMethod method(const char *signature) const; // 返回方法
QMetaEnum enumerator(const char *name) const; // 返回枚举器
QMetaProperty userProperty(); // 返回用户属性

// 静态公共成员函数
static bool checkConnectArgs(const char *signal, const char *method); // 检查连接参数
static QByteArray normalizedSignature(const char *method); // 规范化签名
static QByteArray normalizedType(const char *type); // 规范化类型

// 相关非成员函数
bool operator==(const QMetaObject &lhs, const QMetaObject &rhs); // 比较两个元对象
bool operator!=(const QMetaObject &lhs, const QMetaObject &rhs); // 比较两个元对象

QWidget 类 是 Qt 框架中所有图形用户界面组件的基类,提供了窗口的基本功能和属性设置等功能

以下是一些常见的 QWidget 子类:

QPushButton:按钮控件。
QLabel:标签控件,用于显示文本或图像。
QLineEdit:单行文本输入框。
QTextEdit:多行文本输入框。
QCheckBox:复选框控件。
QRadioButton:单选按钮控件。
QComboBox:下拉框控件。
QSlider:滑动条控件。
QSpinBox:数字微调框控件。
QGroupBox:分组框控件。
QTabWidget:选项卡控件。
QStackedWidget:堆叠控件,一次只显示一个子控件。
QScrollArea:滚动区域控件。
QTreeWidget:树形控件。
QTableWidget:表格控件。
QListView:列表视图控件。
QProgressBar:进度条控件。
QDialog:对话框控件。
QMessageBox:消息框控件。
QMainWindow:主窗口控件。
// QWidget 类是 Qt 框架中用于创建用户界面的基类。以下是 QWidget 类的所有成员函数和枚举类型的详细列表:

// 继承自 QObject 和 QPaintDevice
class QWidget : public QObject, public QPaintDevice {
    Q_OBJECT

public:
    // 构造函数
    QWidget(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); // 默认构造函数

    // 析构函数
    ~QWidget(); // 析构函数

    // 公共成员函数
    QSize size() const; // 返回窗口部件的大小
    QSize minimumSize() const; // 返回窗口部件的最小大小
    QSize maximumSize() const; // 返回窗口部件的最大大小
    void setMinimumSize(const QSize &size); // 设置窗口部件的最小大小
    void setMinimumSize(int minw, int minh); // 设置窗口部件的最小大小
    void setMaximumSize(const QSize &size); // 设置窗口部件的最大大小
    void setMaximumSize(int maxw, int maxh); // 设置窗口部件的最大大小
    QSizePolicy sizePolicy() const; // 返回窗口部件的大小策略
    void setSizePolicy(QSizePolicy policy); // 设置窗口部件的大小策略
    void setSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical); // 设置窗口部件的大小策略
    int heightForWidth(int w) const; // 返回给定宽度下的高度
    QRect geometry() const; // 返回窗口部件的几何形状
    void setGeometry(const QRect &rect); // 设置窗口部件的几何形状
    void setGeometry(int x, int y, int w, int h); // 设置窗口部件的几何形状
    QRect frameGeometry() const; // 返回窗口部件的框架几何形状
    QRect rect() const; // 返回窗口部件的矩形区域
    QRect childrenRect() const; // 返回子窗口部件的矩形区域
    QRect childrenRegion() const; // 返回子窗口部件的区域
    QMargins contentsMargins() const; // 返回内容边距
    void setContentsMargins(const QMargins &margins); // 设置内容边距
    void setContentsMargins(int left, int top, int right, int bottom); // 设置内容边距
    QRect contentsRect() const; // 返回内容矩形区域
    QSize sizeHint() const; // 返回窗口部件的推荐大小
    QSize minimumSizeHint() const; // 返回窗口部件的最小推荐大小
    QSizePolicy::ControlType controlType() const; // 返回窗口部件的控件类型
    void setControlType(QSizePolicy::ControlType type); // 设置窗口部件的控件类型
    Qt::FocusPolicy focusPolicy() const; // 返回焦点策略
    void setFocusPolicy(Qt::FocusPolicy policy); // 设置焦点策略
    bool isActiveWindow() const; // 检查窗口部件是否在活动窗口中
    void activateWindow(); // 激活窗口
    void clearFocus(); // 清除焦点
    void setFocus(); // 设置焦点
    bool isFullScreen() const; // 检查窗口部件是否全屏
    void showFullScreen(); // 显示全屏
    void showNormal(); // 显示正常
    bool isMaximized() const; // 检查窗口部件是否最大化
    void showMaximized(); // 显示最大化
    bool isMinimized() const; // 检查窗口部件是否最小化
    void showMinimized(); // 显示最小化
    bool isHidden() const; // 检查窗口部件是否隐藏
    void hide(); // 隐藏窗口部件
    void show(); // 显示窗口部件
    void raise(); // 提升窗口部件
    void lower(); // 降低窗口部件
    QLayout *layout() const; // 返回布局
    void setLayout(QLayout *layout); // 设置布局
    void update(); // 更新窗口部件
    void update(const QRect &rect); // 更新窗口部件的指定区域
    void update(const QRegion &region); // 更新窗口部件的指定区域
    void repaint(); // 重绘窗口部件
    void repaint(const QRect &rect); // 重绘窗口部件的指定区域
    void repaint(const QRegion &region); // 重绘窗口部件的指定区域
    QPixmap grab(const QRect &rectangle = QRect(QPoint(0, 0), QSize(-1, -1))); // 抓取窗口部件的图像
    void setWindowTitle(const QString &title); // 设置窗口标题
    QString windowTitle() const; // 返回窗口标题
    void setWindowIcon(const QIcon &icon); // 设置窗口图标
    QIcon windowIcon() const; // 返回窗口图标
    void setWindowIconText(const QString &iconText); // 设置窗口图标文本
    QString windowIconText() const; // 返回窗口图标文本
    void setWindowOpacity(qreal level); // 设置窗口透明度
    qreal windowOpacity() const; // 返回窗口透明度
    bool isWindowModified() const; // 检查窗口是否被修改
    void setWindowModified(bool modified); // 设置窗口修改状态
    QPoint pos() const; // 返回窗口部件的位置
    void move(const QPoint &point); // 移动窗口部件
    void move(int x, int y); // 移动窗口部件
    QSize size() const; // 返回窗口部件的大小
    void resize(const QSize &size); // 调整窗口部件的大小
    void resize(int w, int h); // 调整窗口部件的大小
    void setFixedSize(const QSize &size); // 设置固定大小
    void setFixedSize(int w, int h); // 设置固定大小
    void setFixedWidth(int w); // 设置固定宽度
    void setFixedHeight(int h); // 设置固定高度
    QFont font() const; // 返回窗口部件的字体
    void setFont(const QFont &font); // 设置窗口部件的字体
    QPalette palette() const; // 返回窗口部件的调色板
    void setPalette(const QPalette &palette); // 设置窗口部件的调色板
    bool isEnabled() const; // 检查窗口部件是否启用
    void setEnabled(bool enabled); // 设置窗口部件的启用状态
    bool isVisible() const; // 检查窗口部件是否可见
    void setVisible(bool visible); // 设置窗口部件的可见状态
    void setWindowState(Qt::WindowStates state); // 设置窗口状态
    Qt::WindowStates windowState() const; // 返回窗口状态
    void setWindowFlags(Qt::WindowFlags type); // 设置窗口标志
    Qt::WindowFlags windowFlags() const; // 返回窗口标志
    QWindow *windowHandle() const; // 返回窗口句柄
    QWidget *nativeParentWidget() const; // 返回本地父窗口部件
    QWidget *topLevelWidget() const; // 返回顶级窗口部件
    QWidget *parentWidget() const; // 返回父窗口部件
    void setParent(QWidget *parent); // 设置父窗口部件
    void setParent(QWidget *parent, Qt::WindowFlags f); // 设置父窗口部件和窗口标志
    QWidget *focusWidget() const; // 返回焦点窗口部件
    QWidget *nextInFocusChain() const; // 返回焦点链中的下一个窗口部件
    QWidget *previousInFocusChain() const; // 返回焦点链中的上一个窗口部件
    QWidget *childAt(const QPoint &p) const; // 返回指定位置的子窗口部件
    QWidget *childAt(int x, int y) const; // 返回指定位置的子窗口部件
    QWidget *findChild(const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const; // 查找子窗口部件
    QList<QWidget *> findChildren(const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const; // 查找子窗口部件
    QList<QWidget *> findChildren(const QRegExp &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const; // 查找子窗口部件
    QList<QWidget *> findChildren(const QRegularExpression &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const; // 查找子窗口部件
    QWidget *window() const; // 返回窗口部件的窗口
    QWidget *transientParentWidget() const; // 返回临时父窗口部件
    QWidget *effectiveWinId() const; // 返回有效的窗口标识符
    WId winId() const; // 返回窗口标识符
    void setAttribute(Qt::WidgetAttribute attribute, bool on = true); // 设置窗口部件属性
    bool testAttribute(Qt::WidgetAttribute attribute) const; // 测试窗口部件属性
    void setContextMenuPolicy(Qt::ContextMenuPolicy policy); // 设置上下文菜单策略
    Qt::ContextMenuPolicy contextMenuPolicy() const; // 返回上下文菜单策略
    void setCursor(const QCursor &cursor); // 设置光标
    QCursor cursor() const; // 返回光标
    void unsetCursor(); // 取消设置光标
    void setMouseTracking(bool enable); // 设置鼠标跟踪
    bool hasMouseTracking() const; // 返回鼠标跟踪状态
    bool underMouse() const; // 检查鼠标是否在窗口部件上
    void setTabletTracking(bool enable); // 设置平板跟踪
    bool hasTabletTracking() const; // 返回平板跟踪状态
    void setToolTip(const QString &toolTip); // 设置工具提示
    QString toolTip() const; // 返回工具提示
    void setToolTipDuration(int msec); // 设置工具提示持续时间
    int toolTipDuration() const; // 返回工具提示持续时间
    void setStatusTip(const QString &statusTip); // 设置状态提示
    QString statusTip() const; // 返回状态提示
    void setWhatsThis(const QString &whatsThis); // 设置“这是什么”提示
    QString whatsThis() const; // 返回“这是什么”提示
    void setAccessibleName(const QString &name); // 设置可访问名称
    QString accessibleName() const; // 返回可访问名称
    void setAccessibleDescription(const QString &description); // 设置可访问描述
    QString accessibleDescription() const; // 返回可访问描述
    void setLayoutDirection(Qt::LayoutDirection direction); // 设置布局方向
    Qt::LayoutDirection layoutDirection() const; // 返回布局方向
    void unsetLayoutDirection(); // 取消设置布局方向
    void setLocale(const QLocale &locale); // 设置区域设置
    QLocale locale() const; // 返回区域设置
    void unsetLocale(); // 取消设置区域设置
    void setFocusProxy(QWidget *widget); // 设置焦点代理
    QWidget *focusProxy() const; // 返回焦点代理
    void setInputMethodHints(Qt::InputMethodHints hints); // 设置输入法提示
    Qt::InputMethodHints inputMethodHints() const; // 返回输入法提示
    QVariant inputMethodQuery(Qt::InputMethodQuery query) const; // 返回输入法查询结果
    void inputMethodEvent(QInputMethodEvent *event); // 处理输入法事件
    QSize sizeHint() const; // 返回大小提示
    QSize minimumSizeHint() const; // 返回最小大小提示
    QSizePolicy sizePolicy() const; // 返回大小策略
    void setSizePolicy(QSizePolicy policy); // 设置大小策略
    void setSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical); // 设置大小策略
    int heightForWidth(int w) const; // 返回给定宽度的高度
    QRegion visibleRegion() const; // 返回可见区域
    QPainter *painter() const; // 返回绘制器
    void update(const QRect &rect); // 更新指定区域
    void update(const QRegion &region); // 更新指定区域
    void update(); // 更新窗口部件
    void repaint(const QRect &rect); // 重绘指定区域
    void repaint(const QRegion &region); // 重绘指定区域
    void repaint(); // 重绘窗口部件
    void setMask(const QBitmap &bitmap); // 设置掩码
    void setMask(const QRegion &region); // 设置掩码
    void clearMask(); // 清除掩码
    void render(QPaintDevice *target, const QPoint &targetOffset = QPoint(), const QRegion &sourceRegion = QRegion(), QWidget::RenderFlags renderFlags = RenderFlags(DrawWindowBackground | DrawChildren)); // 渲染窗口部件
    void render(QPainter *painter, const QPoint &targetOffset = QPoint(), const QRegion &sourceRegion = QRegion(), QWidget::RenderFlags renderFlags = RenderFlags(DrawWindowBackground | DrawChildren)); // 使用绘制器渲染窗口部件
    bool event(QEvent *event) override; // 事件处理
    bool eventFilter(QObject *watched, QEvent *event) override; // 事件过滤器
    void mousePressEvent(QMouseEvent *event) override; // 鼠标按下事件
    void mouseReleaseEvent(QMouseEvent *event) override; // 鼠标释放事件
    void mouseDoubleClickEvent(QMouseEvent *event) override; // 鼠标双击事件
    void mouseMoveEvent(QMouseEvent *event) override; // 鼠标移动事件
    void wheelEvent(QWheelEvent *event) override; // 滚轮事件
    void keyPressEvent(QKeyEvent *event) override; // 按键按下事件
    void keyReleaseEvent(QKeyEvent *event) override; // 按键释放事件
    void focusInEvent(QFocusEvent *event) override; // 焦点进入事件
    void focusOutEvent(QFocusEvent *event) override; // 焦点离开事件
    void enterEvent(QEvent *event) override; // 进入事件
    void leaveEvent(QEvent *event) override; // 离开事件
    void paintEvent(QPaintEvent *event) override; // 绘制事件
    void moveEvent(QMoveEvent *event) override; // 移动事件
    void resizeEvent(QResizeEvent *event) override; // 调整大小事件
    void closeEvent(QCloseEvent *event) override; // 关闭事件
    void contextMenuEvent(QContextMenuEvent *event) override; // 上下文菜单事件
    void tabletEvent(QTabletEvent *event) override; // 平板事件
    void actionEvent(QActionEvent *event) override; // 动作事件
    void dragEnterEvent(QDragEnterEvent *event) override; // 拖放进入事件
    void dragMoveEvent(QDragMoveEvent *event) override; // 拖放移动事件
    void dragLeaveEvent(QDragLeaveEvent *event) override; // 拖放离开事件
    void dropEvent(QDropEvent *event) override; // 拖放释放事件
    void showEvent(QShowEvent *event) override; // 显示事件
    void hideEvent(QHideEvent *event) override; // 隐藏事件
    void changeEvent(QEvent *event) override; // 改变事件
    bool nativeEvent(const QByteArray &eventType, void *message, long *result) override; // 本地事件

    // 信号
signals:
    void customContextMenuRequested(const QPoint &pos); // 自定义上下文菜单请求信号

    // 枚举类型
    enum RenderFlag {
        DrawWindowBackground = 0x1, // 绘制窗口背景
        DrawChildren = 0x2, // 绘制子窗口部件
        IgnoreMask = 0x4 // 忽略掩码
    };

    Q_DECLARE_FLAGS(RenderFlags, RenderFlag)
    Q_DECLARE_OPERATORS_FOR_FLAGS(QWidget::RenderFlags)
};

QMainWindow 类 是 Qt 框架中用于创建主窗口的类,继承自 QWidget 类

// QMainWindow 类是 Qt 框架中用于创建主窗口应用程序的核心类之一。它提供了许多成员函数和特性,用于管理菜单栏、工具栏、状态栏和中央窗口部件等。以下是 QMainWindow 类的所有成员函数和信号的详细列表:

// 构造函数和析构函数
QMainWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
virtual ~QMainWindow();

// 公共函数
QMenuBar *menuBar() const; // 获取菜单栏
QToolBar *addToolBar(const QString &title); // 添加工具栏
QToolBar *addToolBar(Qt::ToolBarArea area, QToolBar *toolbar); // 在指定区域添加工具栏
void addToolBar(QToolBar *toolbar); // 添加工具栏
void addToolBarBreak(Qt::ToolBarArea area = Qt::TopToolBarArea); // 在指定区域添加工具栏分隔符
void insertToolBar(QToolBar *before, QToolBar *toolbar); // 在指定工具栏前插入工具栏
void insertToolBarBreak(QToolBar *before); // 在指定工具栏前插入工具栏分隔符
void removeToolBar(QToolBar *toolbar); // 移除工具栏
void removeToolBarBreak(QToolBar *before); // 移除工具栏分隔符
QStatusBar *statusBar() const; // 获取状态栏
QWidget *centralWidget() const; // 获取中央窗口部件
void setCentralWidget(QWidget *widget); // 设置中央窗口部件
void setDockNestingEnabled(bool enabled); // 设置停靠窗口嵌套启用状态
void setDockOptions(QMainWindow::DockOptions options); // 设置停靠选项
void setDocumentMode(bool enabled); // 设置文档模式
void setUnifiedTitleAndToolBarOnMac(bool set); // 设置 macOS 上的统一标题和工具栏
QMainWindow::DockOptions dockOptions() const; // 获取停靠选项
bool dockNestingEnabled() const; // 获取停靠窗口嵌套启用状态
bool documentMode() const; // 获取文档模式
bool unifiedTitleAndToolBarOnMac() const; // 获取 macOS 上的统一标题和工具栏状态

// 保护函数
virtual void contextMenuEvent(QContextMenuEvent *event); // 上下文菜单事件
virtual bool event(QEvent *event); // 事件处理
virtual void paintEvent(QPaintEvent *event); // 绘制事件

// 信号
void iconSizeChanged(const QSize &iconSize); // 图标大小改变信号
void toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle); // 工具按钮样式改变信号

QDialog 类 是 Qt 框架中用于创建对话框的类,继承自 QWidget 类

// QDialog 类是 Qt 框架中用于创建对话框窗口的基类。对话框窗口通常用于与用户进行短期交互,例如显示消息、获取输入或进行配置设置。以下是 QDialog 类的所有成员函数和信号的详细列表:

// 构造函数和析构函数
QDialog(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
virtual ~QDialog();

// 公共函数
void setOrientation(Qt::Orientation orientation); // 设置对话框的方向
Qt::Orientation orientation() const; // 获取对话框的方向
void setExtension(QWidget *extension); // 设置扩展窗口部件
QWidget *extension() const; // 获取扩展窗口部件
QSize sizeHint() const; // 获取推荐大小
QSize minimumSizeHint() const; // 获取最小推荐大小
void setVisible(bool visible); // 设置可见性

// 公共槽
void accept(); // 接受对话框
void reject(); // 拒绝对话框
virtual void done(int r); // 完成对话框
virtual void accept(); // 接受对话框(重载)
virtual void reject(); // 拒绝对话框(重载)
int exec(); // 执行模态对话框
void open(); // 打开非模态对话框
void showExtension(bool show); // 显示或隐藏扩展窗口部件

// 保护函数
virtual void closeEvent(QCloseEvent *event); // 关闭事件
virtual void contextMenuEvent(QContextMenuEvent *event); // 上下文菜单事件
virtual bool event(QEvent *event); // 事件处理
virtual bool eventFilter(QObject *o, QEvent *e); // 事件过滤器
virtual void keyPressEvent(QKeyEvent *event); // 按键按下事件
virtual void resizeEvent(QResizeEvent *event); // 调整大小事件
virtual void showEvent(QShowEvent *event); // 显示事件

// 信号
void accepted(); // 对话框被接受信号
void rejected(); // 对话框被拒绝信号

基本数据类型

1. QString类 是 Qt 框架中用于处理字符串的类,提供了字符串的各种操作和处理功能

// QString 类是 Qt 框架中用于处理字符串的重要类。以下是 QString 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QString();
QString(const QChar *unicode, int size = -1);
QString(QChar ch);
QString(int size, QChar ch);
QString(QLatin1String str);
QString(const QString &other);
QString(QString &&other) noexcept;
QString(const char *str);
QString(const QByteArray &ba);

// 析构函数
~QString();

// 公共成员函数
int capacity() const; // 返回字符串的容量
void clear(); // 清空字符串
int count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 计算子字符串出现的次数
int count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 计算字符出现的次数
int count() const; // 返回字符串的长度
bool endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 检查字符串是否以某个子字符串结尾
bool endsWith(const QChar &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 检查字符串是否以某个字符结尾
bool endsWith(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 检查字符串是否以某个子字符串结尾
QString &fill(QChar ch, int size = -1); // 填充字符串
int indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 查找子字符串的位置
int indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 查找字符的位置
int indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 查找子字符串的位置
int indexOf(const QRegExp &rx, int from = 0) const; // 使用正则表达式查找位置
int indexOf(QRegExp &rx, int from = 0) const; // 使用正则表达式查找位置
int indexOf(const QRegularExpression &re, int from = 0) const; // 使用正则表达式查找位置
QString left(int n) const; // 返回左边n个字符
QString leftJustified(int width, QChar fill = QChar(' '), bool truncate = false) const; // 左对齐字符串
int length() const; // 返回字符串的长度
int localeAwareCompare(const QString &s) const; // 本地化比较字符串
int localeAwareCompare(const QStringRef &s) const; // 本地化比较字符串
QString &mid(int position, int n = -1) const; // 返回中间部分字符串
QString normalized(NormalizationForm mode) const; // 返回规范化字符串
QString normalized(NormalizationForm mode, QChar::UnicodeVersion version) const; // 返回规范化字符串
QString &prepend(const QString &str); // 在字符串前添加子字符串
QString &prepend(QChar ch); // 在字符串前添加字符
QString &prepend(const QByteArray &ba); // 在字符串前添加字节数组
QString &prepend(const QStringRef &str); // 在字符串前添加子字符串
QString &push_back(const QString &other); // 在字符串后添加子字符串
QString &push_back(QChar ch); // 在字符串后添加字符
QString &push_front(const QString &other); // 在字符串前添加子字符串
QString &push_front(QChar ch); // 在字符串前添加字符
QString &remove(int position, int n); // 移除部分字符串
QString &remove(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive); // 移除子字符串
QString &remove(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive); // 移除字符
QString &remove(const QRegExp &rx); // 使用正则表达式移除
QString &remove(const QRegularExpression &re); // 使用正则表达式移除
QString &replace(int position, int n, const QString &after); // 替换部分字符串
QString &replace(int position, int n, const QChar *unicode, int size); // 替换部分字符串
QString &replace(int position, int n, QChar after); // 替换部分字符串
QString &replace(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); // 替换子字符串
QString &replace(QChar ch, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); // 替换字符
QString &replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive); // 替换字符
QString &replace(const QRegExp &rx, const QString &after); // 使用正则表达式替换
QString &replace(const QRegularExpression &re, const QString &after); // 使用正则表达式替换
void reserve(int size); // 预留容量
void resize(int size); // 调整大小
QString right(int n) const; // 返回右边n个字符
QString rightJustified(int width, QChar fill = QChar(' '), bool truncate = false) const; // 右对齐字符串
QString &setNum(int n, int base = 10); // 设置数字
QString &setNum(uint n, int base = 10); // 设置数字
QString &setNum(long n, int base = 10); // 设置数字
QString &setNum(ulong n, int base = 10); // 设置数字
QString &setNum(qlonglong n, int base = 10); // 设置数字
QString &setNum(qulonglong n, int base = 10); // 设置数字
QString &setNum(short n, int base = 10); // 设置数字
QString &setNum(ushort n, int base = 10); // 设置数字
QString &setNum(double n, char format = 'g', int precision = 6); // 设置数字
QString &setNum(float n, char format = 'g', int precision = 6); // 设置数字
QString &setRawData(const QChar *unicode, int size); // 设置原始数据
QString &setUnicode(const QChar *unicode, int size); // 设置Unicode数据
QString &setUtf16(const ushort *unicode, int size); // 设置UTF-16数据
QString simplified() const; // 返回简化字符串
int size() const; // 返回字符串的大小
QStringList split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 分割字符串
QStringList split(const QChar &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 分割字符串
QStringList split(const QRegExp &rx, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const; // 使用正则表达式分割
QStringList split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const; // 使用正则表达式分割
void squeeze(); // 压缩字符串
bool startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 检查字符串是否以某个子字符串开头
bool startsWith(const QChar &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 检查字符串是否以某个字符开头
bool startsWith(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; // 检查字符串是否以某个子字符串开头
void swap(QString &other); // 交换字符串
QByteArray toLatin1() const; // 转换为Latin-1字节数组
QByteArray toLocal8Bit() const; // 转换为本地8位字节数组
QString toLower() const; // 转换为小写
QString toUpper() const; // 转换为大写
QString trimmed() const; // 返回修剪字符串
void truncate(int position); // 截断字符串
const QChar *unicode() const; // 返回Unicode数据
const ushort *utf16() const; // 返回UTF-16数据

2. QByteArray 类 用于存储二进制数据。

// QByteArray 类是 Qt 框架中用于字节数组存储的重要类。以下是 QByteArray 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QByteArray();
QByteArray(const char *data, int size = -1);
QByteArray(int size, char ch);
QByteArray(const QByteArray &other);
QByteArray(QByteArray &&other) noexcept;

// 析构函数
~QByteArray();

// 公共成员函数
QByteArray &operator=(const QByteArray &other);
QByteArray &operator=(QByteArray &&other) noexcept;
void swap(QByteArray &other) noexcept;
bool operator==(const QByteArray &other) const;
bool operator!=(const QByteArray &other) const;
bool operator<(const QByteArray &other) const;
bool operator<=(const QByteArray &other) const;
bool operator>(const QByteArray &other) const;
bool operator>=(const QByteArray &other) const;
char &operator[](int i);
const char &operator[](int i) const;
char &operator[](uint i);
const char &operator[](uint i) const;
QByteArray &operator+=(const QByteArray &ba);
QByteArray &operator+=(char ch);
QByteArray &operator+=(const char *str);
int size() const; // 返回字节数组的大小
bool isEmpty() const; // 检查字节数组是否为空
void resize(int size); // 调整字节数组的大小
int capacity() const; // 返回字节数组的容量
void reserve(int size); // 预留容量
void squeeze(); // 压缩字节数组
void detach(); // 分离数据
bool isDetached() const; // 检查数据是否分离
void setSharable(bool sharable); // 设置是否共享
bool isSharedWith(const QByteArray &other) const; // 检查是否共享数据
void clear(); // 清空字节数组
char at(int i) const; // 返回指定位置的字符
char front() const; // 返回第一个字符
char back() const; // 返回最后一个字符
char &front(); // 返回第一个字符
char &back(); // 返回最后一个字符
void push_back(const QByteArray &other); // 在后面添加字节数组
void push_back(const char *str); // 在后面添加字符串
void push_back(char ch); // 在后面添加字符
void push_front(const QByteArray &other); // 在前面添加字节数组
void push_front(const char *str); // 在前面添加字符串
void push_front(char ch); // 在前面添加字符
QByteArray &insert(int i, const QByteArray &ba); // 插入字节数组
QByteArray &insert(int i, const char *str); // 插入字符串
QByteArray &insert(int i, const char *str, int len); // 插入字符串的一部分
QByteArray &insert(int i, char ch); // 插入字符
QByteArray &append(const QByteArray &ba); // 在后面添加字节数组
QByteArray &append(const char *str); // 在后面添加字符串
QByteArray &append(const char *str, int len); // 在后面添加字符串的一部分
QByteArray &append(char ch); // 在后面添加字符
QByteArray &prepend(const QByteArray &ba); // 在前面添加字节数组
QByteArray &prepend(const char *str); // 在前面添加字符串
QByteArray &prepend(const char *str, int len); // 在前面添加字符串的一部分
QByteArray &prepend(char ch); // 在前面添加字符
QByteArray &remove(int pos, int len); // 移除部分字节数组
QByteArray &replace(int pos, int len, const QByteArray &after); // 替换部分字节数组
QByteArray &replace(int pos, int len, const char *after, int alen); // 替换部分字节数组
QByteArray &replace(const QByteArray &before, const QByteArray &after); // 替换字节数组
QByteArray &replace(const char *before, int bsize, const char *after, int asize); // 替换字节数组
QByteArray &replace(char before, const QByteArray &after); // 替换字符
QByteArray &replace(char before, const char *after); // 替换字符
QByteArray &replace(char before, const char *after, int size); // 替换字符
QByteArray &replace(char before, char after); // 替换字符
QList<QByteArray> split(char sep) const; // 分割字节数组
bool startsWith(const QByteArray &ba) const; // 检查是否以指定字节数组开始
bool startsWith(const char *str) const; // 检查是否以指定字符串开始
bool startsWith(char ch) const; // 检查是否以指定字符开始
bool endsWith(const QByteArray &ba) const; // 检查是否以指定字节数组结束
bool endsWith(const char *str) const; // 检查是否以指定字符串结束
bool endsWith(char ch) const; // 检查是否以指定字符结束
QByteArray left(int len) const; // 返回左边部分字节数组
QByteArray right(int len) const; // 返回右边部分字节数组
QByteArray mid(int pos, int len = -1) const; // 返回中间部分字节数组
QByteArray chopped(int len) const; // 返回去掉末尾部分的字节数组
void chop(int n); // 去掉末尾部分
QByteArray trimmed() const; // 返回修剪后的字节数组
QByteArray simplified() const; // 返回简化后的字节数组
int indexOf(const QByteArray &ba, int from = 0) const; // 查找字节数组的索引
int indexOf(const char *str, int from = 0) const; // 查找字符串的索引
int indexOf(char ch, int from = 0) const; // 查找字符的索引
int lastIndexOf(const QByteArray &ba, int from = -1) const; // 查找字节数组的最后一个索引
int lastIndexOf(const char *str, int from = -1) const; // 查找字符串的最后一个索引
int lastIndexOf(char ch, int from = -1) const; // 查找字符的最后一个索引
bool contains(const QByteArray &ba) const; // 检查是否包含字节数组
bool contains(const char *str) const; // 检查是否包含字符串
bool contains(char ch) const; // 检查是否包含字符
int count(const QByteArray &ba) const; // 返回字节数组的数量
int count(const char *str) const; // 返回字符串的数量
int count(char ch) const; // 返回字符的数量
int count() const; // 返回字节数组的大小
QByteArray toLower() const; // 转换为小写
QByteArray toUpper() const; // 转换为大写
QByteArray trimmed() const; // 返回修剪后的字节数组
QByteArray simplified() const; // 返回简化后的字节数组
QByteArray leftJustified(int width, char fill = ' ', bool truncate = false) const; // 左对齐字节数组
QByteArray rightJustified(int width, char fill = ' ', bool truncate = false) const; // 右对齐字节数组
QByteArray &fill(char ch, int size = -1); // 填充字节数组
char *data(); // 返回数据指针
const char *data() const; // 返回数据指针
const char *constData() const; // 返回常量数据指针
void detach(); // 分离数据
bool isDetached() const; // 检查数据是否分离
void truncate(int pos); // 截断字节数组
void chop(int n); // 去掉末尾部分
int length() const; // 返回字节数组的长度
int size() const; // 返回字节数组的大小
bool isEmpty() const; // 检查字节数组是否为空
bool isNull() const; // 检查字节数组是否为空
QByteArray &append(const QByteArray &ba); // 在后面添加字节数组
QByteArray &append(const char *str); // 在后面添加字符串
QByteArray &append(const char *str, int len); // 在后面添加字符串的一部分
QByteArray &append(char ch); // 在后面添加字符
QByteArray &prepend(const QByteArray &ba); // 在前面添加字节数组
QByteArray &prepend(const char *str); // 在前面添加字符串
QByteArray &prepend(const char *str, int len); // 在前面添加字符串的一部分
QByteArray &prepend(char ch); // 在前面添加字符
QByteArray &insert(int i, const QByteArray &ba); // 插入字节数组
QByteArray &insert(int i, const char *str); // 插入字符串
QByteArray &insert(int i, const char *str, int len); // 插入字符串的一部分
QByteArray &insert(int i, char ch); // 插入字符
QByteArray &remove(int pos, int len); // 移除部分字节数组
QByteArray &replace(int pos, int len, const QByteArray &after); // 替换部分字节数组
QByteArray &replace(int pos, int len, const char *after, int alen); // 替换部分字节数组
QByteArray &replace(const QByteArray &before, const QByteArray &after); // 替换字节数组
QByteArray &replace(const char *before, int bsize, const char *after, int asize); // 替换字节数组
QByteArray &replace(char before, const QByteArray &after); // 替换字符
QByteArray &replace(char before, const char *after); // 替换字符
QByteArray &replace(char before, const char *after, int size); // 替换字符
QByteArray &replace(char before, char after); // 替换字符
QList<QByteArray> split(char sep) const; // 分割字节数组
bool startsWith(const QByteArray &ba) const; // 检查是否以指定字节数组开始
bool startsWith(const char *str) const; // 检查是否以指定字符串开始
bool startsWith(char ch) const; // 检查是否以指定字符开始
bool endsWith(const QByteArray &ba) const; // 检查是否以指定字节数组结束
bool endsWith(const char *str) const; // 检查是否以指定字符串结束
bool endsWith(char ch) const; // 检查是否以指定字符结束
QByteArray left(int len) const; // 返回左边部分字节数组
QByteArray right(int len) const; // 返回右边部分字节数组
QByteArray mid(int pos, int len = -1) const; // 返回中间部分字节数组
QByteArray chopped(int len) const; // 返回去掉末尾部分的字节数组
void chop(int n); // 去掉末尾部分
QByteArray trimmed() const; // 返回修剪后的字节数组
QByteArray simplified() const; // 返回简化后的字节数组
int indexOf(const QByteArray &ba, int from = 0) const; // 查找字节数组的索引
int indexOf(const char *str, int from = 0) const; // 查找字符串的索引
int indexOf(char ch, int from = 0) const; // 查找字符的索引
int lastIndexOf(const QByteArray &ba, int from = -1) const; // 查找字节数组的最后一个索引
int lastIndexOf(const char *str, int from = -1) const; // 查找字符串的最后一个索引
int lastIndexOf(char ch, int from = -1) const; // 查找字符的最后一个索引
bool contains(const QByteArray &ba) const; // 检查是否包含字节数组
bool contains(const char *str) const; // 检查是否包含字符串
bool contains(char ch) const; // 检查是否包含字符
int count(const QByteArray &ba) const; // 返回字节数组的数量
int count(const char *str) const; // 返回字符串的数量
int count(char ch) const; // 返回字符的数量
int count() const; // 返回字节数组的大小
QByteArray toLower() const; // 转换为小写
QByteArray toUpper() const; // 转换为大写
QByteArray trimmed() const; // 返回修剪后的字节数组
QByteArray simplified() const; // 返回简化后的字节数组
QByteArray leftJustified(int width, char fill = ' ', bool truncate = false) const; // 左对齐字节数组
QByteArray rightJustified(int width, char fill = ' ', bool truncate = false) const; // 右对齐字节数组
QByteArray &fill(char ch, int size = -1); // 填充字节数组
char *data(); // 返回数据指针
const char *data() const; // 返回数据指针
const char *constData() const; // 返回常量数据指针
void detach(); // 分离数据
bool isDetached() const; // 检查数据是否分离
void truncate(int pos); // 截断字节数组
void chop(int n); // 去掉末尾部分
int length() const; // 返回字节数组的长度
int size() const; // 返回字节数组的大小
bool isEmpty() const; // 检查字节数组是否为空
bool isNull() const; // 检查字节数组是否为空
QByteArray &append(const QByteArray &ba); // 在后面添加字节数组
QByteArray &append(const char *str); // 在后面添加字符串
QByteArray &append(const char *str, int len); // 在后面添加字符串的一部分
QByteArray &append(char ch); // 在后面添加字符
QByteArray &prepend(const QByteArray &ba); // 在前面添加字节数组
QByteArray &prepend(const char *str); // 在前面添加字符串
QByteArray &prepend(const char *str, int len); // 在前面添加字符串的一部分
QByteArray &prepend(char ch); // 在前面添加字符
QByteArray &insert(int i, const QByteArray &ba); // 插入字节数组
QByteArray &insert(int i, const char *str); // 插入字符串
QByteArray &insert(int i, const char *str, int len); // 插入字符串的一部分
QByteArray &insert(int i, char ch); // 插入字符
QByteArray &remove(int pos, int len); // 移除部分字节数组
QByteArray &replace(int pos, int len, const QByteArray &after); // 替换部分字节数组
QByteArray &replace(int pos, int len, const char *after, int alen); // 替换部分字节数组
QByteArray &replace(const QByteArray &before, const QByteArray &after); // 替换字节数组
QByteArray &replace(const char *before, int bsize, const char *after, int asize); // 替换字节数组
QByteArray &replace(char before, const QByteArray &after); // 替换字符
QByteArray &replace(char before, const char *after); // 替换字符
QByteArray &replace(char before, const char *after, int size); // 替换字符
QByteArray &replace(char before, char after); // 替换字符
QList<QByteArray> split(char sep) const; // 分割字节数组
bool startsWith(const QByteArray &ba) const; // 检查是否以指定字节数组开始
bool startsWith(const char *str) const; // 检查是否以指定字符串开始
bool startsWith(char ch) const; // 检查是否以指定字符开始
bool endsWith(const QByteArray &ba) const; // 检查是否以指定字节数组结束
bool endsWith(const char *str) const; // 检查是否以指定字符串结束
bool endsWith(char ch) const; // 检查是否以指定字符结束
QByteArray left(int len) const; // 返回左边部分字节数组
QByteArray right(int len) const; // 返回右边部分字节数组
QByteArray mid(int pos, int len = -1) const; // 返回中间部分字节数组
QByteArray chopped(int len) const; // 返回去掉末尾部分的字节数组
void chop(int n); // 去掉末尾部分
QByteArray trimmed() const; // 返回修剪后的字节数组
QByteArray simplified() const; // 返回简化后的字节数组
int indexOf(const QByteArray &ba, int from = 0) const; // 查找字节数组的索引
int indexOf(const char *str, int from = 0) const; // 查找字符串的索引
int indexOf(char ch, int from = 0) const; // 查找字符的索引
int lastIndexOf(const QByteArray &ba, int from = -1) const; // 查找字节数组的最后一个索引

3. QVariant 类 用于存储任意数据类型。 类似于 C++ 的 std::any。

// QVariant 类是 Qt 框架中用于存储不同类型数据的重要类。以下是 QVariant 类的所有成员函数和枚举类型的详细列表:

// 枚举类型
enum Type {
    Invalid,       // 无效类型
    Bool,          // 布尔类型
    Int,           // 整型
    UInt,          // 无符号整型
    LongLong,      // 长整型
    ULongLong,     // 无符号长整型
    Double,        // 双精度浮点型
    Char,          // 字符类型
    Map,           // 映射类型
    List,          // 列表类型
    String,        // 字符串类型
    StringList,    // 字符串列表类型
    ByteArray,     // 字节数组类型
    BitArray,      // 位数组类型
    Date,          // 日期类型
    Time,          // 时间类型
    DateTime,      // 日期时间类型
    Url,           // URL类型
    Locale,        // 本地化类型
    Rect,          // 矩形类型
    RectF,         // 浮点矩形类型
    Size,          // 尺寸类型
    SizeF,         // 浮点尺寸类型
    Line,          // 线段类型
    LineF,         // 浮点线段类型
    Point,         // 点类型
    PointF,        // 浮点点类型
    RegExp,        // 正则表达式类型
    RegularExpression, // 正则表达式类型
    Hash,          // 哈希类型
    EasingCurve,   // 缓和曲线类型
    Uuid,          // UUID类型
    ModelIndex,    // 模型索引类型
    LastType = ModelIndex // 最后一个类型
};

// 构造函数
QVariant(); // 默认构造函数
QVariant(Type type); // 指定类型的构造函数
QVariant(int typeOrUserType, const void *copy); // 指定类型或用户类型的构造函数
QVariant(const QVariant &other); // 拷贝构造函数
QVariant(QVariant &&other) noexcept; // 移动构造函数
QVariant(bool val); // 布尔类型构造函数
QVariant(int val); // 整型构造函数
QVariant(uint val); // 无符号整型构造函数
QVariant(qlonglong val); // 长整型构造函数
QVariant(qulonglong val); // 无符号长整型构造函数
QVariant(double val); // 双精度浮点型构造函数
QVariant(const char *val); // 字符串构造函数
QVariant(const QByteArray &val); // 字节数组构造函数
QVariant(const QBitArray &val); // 位数组构造函数
QVariant(const QString &val); // 字符串构造函数
QVariant(const QStringList &val); // 字符串列表构造函数
QVariant(const QChar &val); // 字符构造函数
QVariant(const QDate &val); // 日期构造函数
QVariant(const QTime &val); // 时间构造函数
QVariant(const QDateTime &val); // 日期时间构造函数
QVariant(const QList<QVariant> &val); // 变体列表构造函数
QVariant(const QMap<QString, QVariant> &val); // 变体映射构造函数
QVariant(const QHash<QString, QVariant> &val); // 变体哈希构造函数
QVariant(const QSize &val); // 尺寸构造函数
QVariant(const QSizeF &val); // 浮点尺寸构造函数
QVariant(const QPoint &val); // 点构造函数
QVariant(const QPointF &val); // 浮点点构造函数
QVariant(const QRect &val); // 矩形构造函数
QVariant(const QRectF &val); // 浮点矩形构造函数
QVariant(const QLine &val); // 线段构造函数
QVariant(const QLineF &val); // 浮点线段构造函数
QVariant(const QUrl &val); // URL构造函数
QVariant(const QLocale &val); // 本地化构造函数
QVariant(const QRegExp &val); // 正则表达式构造函数
QVariant(const QRegularExpression &val); // 正则表达式构造函数
QVariant(const QJsonValue &val); // JSON值构造函数
QVariant(const QJsonObject &val); // JSON对象构造函数
QVariant(const QJsonArray &val); // JSON数组构造函数
QVariant(const QJsonDocument &val); // JSON文档构造函数
QVariant(const QEasingCurve &val); // 缓和曲线构造函数
QVariant(const QUuid &val); // UUID构造函数
QVariant(const QModelIndex &val); // 模型索引构造函数

// 析构函数
~QVariant(); // 析构函数

// 公共成员函数
QVariant &operator=(const QVariant &other); // 赋值运算符
QVariant &operator=(QVariant &&other) noexcept; // 移动赋值运算符
void swap(QVariant &other) noexcept; // 交换函数
bool operator==(const QVariant &other) const; // 相等运算符
bool operator!=(const QVariant &other) const; // 不等运算符
bool isValid() const; // 检查变体是否有效
bool isNull() const; // 检查变体是否为空
Type type() const; // 返回变体类型
const char *typeName() const; // 返回类型名称
int userType() const; // 返回用户类型
void clear(); // 清空变体
bool convert(int targetTypeId); // 转换变体类型
bool canConvert(int targetTypeId) const; // 检查是否可以转换为目标类型
bool canConvert(Type targetType) const; // 检查是否可以转换为目标类型
template <typename T> bool canConvert() const; // 检查是否可以转换为指定类型
template <typename T> T value() const; // 获取变体值
template <typename T> T to() const; // 转换为指定类型
bool toBool() const; // 转换为布尔类型
int toInt() const; // 转换为整型
uint toUInt() const; // 转换为无符号整型
qlonglong toLongLong() const; // 转换为长整型
qulonglong toULongLong() const; // 转换为无符号长整型
double toDouble() const; // 转换为双精度浮点型
QChar toChar() const; // 转换为字符类型
QByteArray toByteArray() const; // 转换为字节数组类型
QBitArray toBitArray() const; // 转换为位数组类型
QString toString() const; // 转换为字符串类型
QStringList toStringList() const; // 转换为字符串列表类型
QDate toDate() const; // 转换为日期类型
QTime toTime() const; // 转换为时间类型
QDateTime toDateTime() const; // 转换为日期时间类型
QList<QVariant> toList() const; // 转换为变体列表类型
QMap<QString, QVariant> toMap() const; // 转换为变体映射类型
QHash<QString, QVariant> toHash() const; // 转换为变体哈希类型
QSize toSize() const; // 转换为尺寸类型
QSizeF toSizeF() const; // 转换为浮点尺寸类型
QPoint toPoint() const; // 转换为点类型
QPointF toPointF() const; // 转换为浮点点类型
QRect toRect() const; // 转换为矩形类型
QRectF toRectF() const; // 转换为浮点矩形类型
QLine toLine() const; // 转换为线段类型
QLineF toLineF() const; // 转换为浮点线段类型
QUrl toUrl() const; // 转换为URL类型
QLocale toLocale() const; // 转换为本地化类型
QRegExp toRegExp() const; // 转换为正则表达式类型
QRegularExpression toRegularExpression() const; // 转换为正则表达式类型
QJsonValue toJsonValue() const; // 转换为JSON值类型
QJsonObject toJsonObject() const; // 转换为JSON对象类型
QJsonArray toJsonArray() const; // 转换为JSON数组类型
QJsonDocument toJsonDocument() const; // 转换为JSON文档类型
QEasingCurve toEasingCurve() const; // 转换为缓和曲线类型
QUuid toUuid() const; // 转换为UUID类型
QModelIndex toModelIndex() const; // 转换为模型索引类型
QVariant fromValue(const T &value); // 从指定值创建变体
template <typename T> QVariant fromValue(const T &value); // 从指定值创建变体

容器

1. QMap 类 是 Qt 框架中用于存储键值对的类,提供了对键值对的各种操作和处理功能

// QMap 类是 Qt 框架中用于键值对存储的重要类。以下是 QMap 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QMap();
QMap(const QMap<Key, T> &other);
QMap(QMap<Key, T> &&other) noexcept;
QMap(std::initializer_list<std::pair<Key, T>> list);

// 析构函数
~QMap();

// 公共成员函数
QMap<Key, T> &operator=(const QMap<Key, T> &other);
QMap<Key, T> &operator=(QMap<Key, T> &&other) noexcept;
void swap(QMap<Key, T> &other) noexcept;
bool operator==(const QMap<Key, T> &other) const;
bool operator!=(const QMap<Key, T> &other) const;
int size() const; // 返回映射的大小
bool isEmpty() const; // 检查映射是否为空
void detach(); // 分离数据
bool isDetached() const; // 检查数据是否分离
void setSharable(bool sharable); // 设置是否共享
bool isSharedWith(const QMap<Key, T> &other) const; // 检查是否共享数据
void clear(); // 清空映射
int remove(const Key &key); // 移除键对应的值
T take(const Key &key); // 获取并移除键对应的值
bool contains(const Key &key) const; // 检查是否包含某个键
const Key key(const T &value) const; // 返回值对应的键
const T value(const Key &key) const; // 返回键对应的值
const T value(const Key &key, const T &defaultValue) const; // 返回键对应的值,如果不存在则返回默认值
QList<Key> keys() const; // 返回所有键的列表
QList<T> values() const; // 返回所有值的列表
int count(const Key &key) const; // 返回键的数量
bool isEmpty() const; // 检查映射是否为空
QMap::iterator find(const Key &key); // 查找键
QMap::const_iterator find(const Key &key) const; // 查找键
QMap::iterator constFind(const Key &key) const; // 查找键
QMap::iterator begin(); // 返回开始迭代器
QMap::const_iterator begin() const; // 返回开始迭代器
QMap::const_iterator cbegin() const; // 返回开始迭代器
QMap::iterator end(); // 返回结束迭代器
QMap::const_iterator end() const; // 返回结束迭代器
QMap::const_iterator cend() const; // 返回结束迭代器
QMap::iterator insert(const Key &key, const T &value); // 插入键值对
QMap::iterator insertMulti(const Key &key, const T &value); // 插入多个键值对
QMap<Key, T> &unite(const QMap<Key, T> &other); // 合并映射
QMap::iterator erase(QMap::iterator pos); // 移除迭代器位置的元素
QMap::iterator insert(QMap::const_iterator pos, const Key &key, const T &value); // 在指定位置插入键值对
QMap::const_iterator lowerBound(const Key &key) const; // 返回键的下界
QMap::iterator lowerBound(const Key &key); // 返回键的下界
QMap::const_iterator upperBound(const Key &key) const; // 返回键的上界
QMap::iterator upperBound(const Key &key); // 返回键的上界
const T &operator[](const Key &key) const; // 返回键对应的值
T &operator[](const Key &key); // 返回键对应的值
QList<Key> uniqueKeys() const; // 返回唯一键的列表
QList<T> values(const Key &key) const; // 返回键对应的所有值的列表
QMap<Key, T> &operator+=(const QMap<Key, T> &other); // 合并映射
QMap<Key, T> operator+(const QMap<Key, T> &other) const; // 合并映射

// 迭代器类
class iterator {
public:
    iterator();
    iterator(const iterator &other);
    ~iterator();
    iterator &operator=(const iterator &other);
    bool operator==(const iterator &other) const;
    bool operator!=(const iterator &other) const;
    bool operator<(const iterator &other) const;
    bool operator<=(const iterator &other) const;
    bool operator>(const iterator &other) const;
    bool operator>=(const iterator &other) const;
    std::pair<Key, T> &operator*() const;
    std::pair<Key, T> *operator->() const;
    iterator &operator++();
    iterator operator++(int);
    iterator &operator--();
    iterator operator--(int);
    iterator &operator+=(int j);
    iterator &operator-=(int j);
    iterator operator+(int j) const;
    iterator operator-(int j) const;
    int operator-(iterator other) const;
};

class const_iterator {
public:
    const_iterator();
    const_iterator(const const_iterator &other);
    const_iterator(const iterator &other);
    ~const_iterator();
    const_iterator &operator=(const const_iterator &other);
    bool operator==(const const_iterator &other) const;
    bool operator!=(const const_iterator &other) const;
    bool operator<(const const_iterator &other) const;
    bool operator<=(const const_iterator &other) const;
    bool operator>(const const_iterator &other) const;
    bool operator>=(const const_iterator &other) const;
    const std::pair<Key, T> &operator*() const;
    const std::pair<Key, T> *operator->() const;
    const_iterator &operator++();
    const_iterator operator++(int);
    const_iterator &operator--();
    const_iterator operator--(int);
    const_iterator &operator+=(int j);
    const_iterator &operator-=(int j);
    const_iterator operator+(int j) const;
    const_iterator operator-(int j) const;
    int operator-(const_iterator other) const;
};

2. QHash 类 是 Qt 框架中用于存储键值对的类,提供了对键值对的各种操作和处理功能

// QHash 类是 Qt 框架中用于哈希表存储的重要类。以下是 QHash 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QHash();
QHash(const QHash<Key, T> &other);
QHash(QHash<Key, T> &&other) noexcept;
QHash(std::initializer_list<std::pair<Key, T>> list);

// 析构函数
~QHash();

// 公共成员函数
QHash<Key, T> &operator=(const QHash<Key, T> &other);
QHash<Key, T> &operator=(QHash<Key, T> &&other) noexcept;
void swap(QHash<Key, T> &other) noexcept;
bool operator==(const QHash<Key, T> &other) const;
bool operator!=(const QHash<Key, T> &other) const;
int size() const; // 返回哈希表的大小
bool isEmpty() const; // 检查哈希表是否为空
void detach(); // 分离数据
bool isDetached() const; // 检查数据是否分离
void setSharable(bool sharable); // 设置是否共享
bool isSharedWith(const QHash<Key, T> &other) const; // 检查是否共享数据
void clear(); // 清空哈希表
int remove(const Key &key); // 移除键对应的值
T take(const Key &key); // 获取并移除键对应的值
bool contains(const Key &key) const; // 检查是否包含某个键
const Key key(const T &value) const; // 返回值对应的键
const T value(const Key &key) const; // 返回键对应的值
const T value(const Key &key, const T &defaultValue) const; // 返回键对应的值,如果不存在则返回默认值
QList<Key> keys() const; // 返回所有键的列表
QList<T> values() const; // 返回所有值的列表
int count(const Key &key) const; // 返回键的数量
bool isEmpty() const; // 检查哈希表是否为空
QHash::iterator find(const Key &key); // 查找键
QHash::const_iterator find(const Key &key) const; // 查找键
QHash::iterator constFind(const Key &key) const; // 查找键
QHash::iterator begin(); // 返回开始迭代器
QHash::const_iterator begin() const; // 返回开始迭代器
QHash::const_iterator cbegin() const; // 返回开始迭代器
QHash::iterator end(); // 返回结束迭代器
QHash::const_iterator end() const; // 返回结束迭代器
QHash::const_iterator cend() const; // 返回结束迭代器
QHash::iterator insert(const Key &key, const T &value); // 插入键值对
QHash::iterator insertMulti(const Key &key, const T &value); // 插入多个键值对
QHash<Key, T> &unite(const QHash<Key, T> &other); // 合并哈希表
QHash::iterator erase(QHash::iterator pos); // 移除迭代器位置的元素
QHash::iterator insert(QHash::const_iterator pos, const Key &key, const T &value); // 在指定位置插入键值对
QHash::const_iterator lowerBound(const Key &key) const; // 返回键的下界
QHash::iterator lowerBound(const Key &key); // 返回键的下界
QHash::const_iterator upperBound(const Key &key) const; // 返回键的上界
QHash::iterator upperBound(const Key &key); // 返回键的上界
const T &operator[](const Key &key) const; // 返回键对应的值
T &operator[](const Key &key); // 返回键对应的值
QList<Key> uniqueKeys() const; // 返回唯一键的列表
QList<T> values(const Key &key) const; // 返回键对应的所有值的列表
QHash<Key, T> &operator+=(const QHash<Key, T> &other); // 合并哈希表
QHash<Key, T> operator+(const QHash<Key, T> &other) const; // 合并哈希表

// 迭代器类
class iterator {
public:
    iterator();
    iterator(const iterator &other);
    ~iterator();
    iterator &operator=(const iterator &other);
    bool operator==(const iterator &other) const;
    bool operator!=(const iterator &other) const;
    std::pair<Key, T> &operator*() const;
    std::pair<Key, T> *operator->() const;
    iterator &operator++();
    iterator operator++(int);
    iterator &operator--();
    iterator operator--(int);
    iterator &operator+=(int j);
    iterator &operator-=(int j);
    iterator operator+(int j) const;
    iterator operator-(int j) const;
    int operator-(iterator other) const;
};

class const_iterator {
public:
    const_iterator();
    const_iterator(const const_iterator &other);
    const_iterator(const iterator &other);
    ~const_iterator();
    const_iterator &operator=(const const_iterator &other);
    bool operator==(const const_iterator &other) const;
    bool operator!=(const const_iterator &other) const;
    const std::pair<Key, T> &operator*() const;
    const std::pair<Key, T> *operator->() const;
    const_iterator &operator++();
    const_iterator operator++(int);
    const_iterator &operator--();
    const_iterator operator--(int);
    const_iterator &operator+=(int j);
    const_iterator &operator-=(int j);
    const_iterator operator+(int j) const;
    const_iterator operator-(int j) const;
    int operator-(const_iterator other) const;
};

3. QVector 类 是 Qt 框架中用于存储一系列数据元素的类,提供了对元素的各种操作和处理功能

// QVector 类是 Qt 框架中用于动态数组存储的重要类。以下是 QVector 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QVector();
QVector(int size);
QVector(int size, const T &value);
QVector(const QVector<T> &other);
QVector(QVector<T> &&other) noexcept;
QVector(std::initializer_list<T> args);
QVector(const QList<T> &list);

// 析构函数
~QVector();

// 公共成员函数
QVector<T> &operator=(const QVector<T> &other);
QVector<T> &operator=(QVector<T> &&other) noexcept;
void swap(QVector<T> &other) noexcept;
bool operator==(const QVector<T> &other) const;
bool operator!=(const QVector<T> &other) const;
int size() const; // 返回向量的大小
bool isEmpty() const; // 检查向量是否为空
void resize(int size); // 调整向量的大小
int capacity() const; // 返回向量的容量
void reserve(int size); // 预留容量
void squeeze(); // 压缩向量
void detach(); // 分离数据
bool isDetached() const; // 检查数据是否分离
void setSharable(bool sharable); // 设置是否共享
bool isSharedWith(const QVector<T> &other) const; // 检查是否共享数据
void clear(); // 清空向量
const T &at(int i) const; // 返回指定位置的元素
T &operator[](int i); // 返回指定位置的元素
const T &operator[](int i) const; // 返回指定位置的元素
QVector<T> &operator+=(const QVector<T> &other); // 合并向量
QVector<T> operator+(const QVector<T> &other) const; // 合并向量
QVector<T> &operator+=(const T &value); // 添加元素
QVector<T> &append(const T &value); // 添加元素
QVector<T> &append(const QVector<T> &value); // 添加向量
QVector<T> &prepend(const T &value); // 在前面添加元素
QVector<T> &insert(int i, const T &value); // 插入元素
QVector<T> &insert(int i, int count, const T &value); // 插入多个元素
QVector<T>::iterator insert(QVector<T>::iterator before, const T &value); // 插入元素
QVector<T>::iterator insert(QVector<T>::iterator before, int count, const T &value); // 插入多个元素
void replace(int i, const T &value); // 替换元素
void remove(int i); // 移除元素
void remove(int i, int count); // 移除多个元素
int removeAll(const T &value); // 移除所有指定元素
bool removeOne(const T &value); // 移除第一个指定元素
T takeAt(int i); // 获取并移除元素
T takeFirst(); // 获取并移除第一个元素
T takeLast(); // 获取并移除最后一个元素
void move(int from, int to); // 移动元素
void swap(int i, int j); // 交换元素
int indexOf(const T &value, int from = 0) const; // 查找元素的索引
int lastIndexOf(const T &value, int from = -1) const; // 查找元素的最后一个索引
bool contains(const T &value) const; // 检查是否包含元素
int count(const T &value) const; // 返回元素的数量
QVector<T> mid(int pos, int length = -1) const; // 返回中间部分向量
T value(int i) const; // 返回指定位置的元素
T value(int i, const T &defaultValue) const; // 返回指定位置的元素,如果不存在则返回默认值
void push_back(const T &value); // 在后面添加元素
void push_front(const T &value); // 在前面添加元素
T &first(); // 返回第一个元素
const T &first() const; // 返回第一个元素
T &last(); // 返回最后一个元素
const T &last() const; // 返回最后一个元素
void pop_front(); // 移除第一个元素
void pop_back(); // 移除最后一个元素
bool startsWith(const T &value) const; // 检查是否以指定元素开始
bool endsWith(const T &value) const; // 检查是否以指定元素结束
QVector<T> &fill(const T &value, int size = -1); // 填充向量
QVector<T> fromList(const QList<T> &list); // 从列表创建向量
QList<T> toList() const; // 转换为列表
QVector<T> fromStdVector(const std::vector<T> &vector); // 从标准向量创建向量
std::vector<T> toStdVector() const; // 转换为标准向量

// 迭代器类
class iterator {
public:
    iterator();
    iterator(const iterator &other);
    ~iterator();
    iterator &operator=(const iterator &other);
    bool operator==(const iterator &other) const;
    bool operator!=(const iterator &other) const;
    bool operator<(const iterator &other) const;
    bool operator<=(const iterator &other) const;
    bool operator>(const iterator &other) const;
    bool operator>=(const iterator &other) const;
    T &operator*() const;
    T *operator->() const;
    iterator &operator++();
    iterator operator++(int);
    iterator &operator--();
    iterator operator--(int);
    iterator &operator+=(int j);
    iterator &operator-=(int j);
    iterator operator+(int j) const;
    iterator operator-(int j) const;
    int operator-(iterator other) const;
};

class const_iterator {
public:
    const_iterator();
    const_iterator(const const_iterator &other);
    const_iterator(const iterator &other);
    ~const_iterator();
    const_iterator &operator=(const const_iterator &other);
    bool operator==(const const_iterator &other) const;
    bool operator!=(const const_iterator &other) const;
    bool operator<(const const_iterator &other) const;
    bool operator<=(const const_iterator &other) const;
    bool operator>(const const_iterator &other) const;
    bool operator>=(const const_iterator &other) const;
    const T &operator*() const;
    const T *operator->() const;
    const_iterator &operator++();
    const_iterator operator++(int);
    const_iterator &operator--();
    const_iterator operator--(int);
    const_iterator &operator+=(int j);
    const_iterator &operator-=(int j);
    const_iterator operator+(int j) const;
    const_iterator operator-(int j) const;
    int operator-(const_iterator other) const;
};

4. QList 类 用于动态列表存储的重要类。

// QList 类是 Qt 框架中用于动态列表存储的重要类。以下是 QList 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QList();
QList(const QList<T> &other);
QList(QList<T> &&other) noexcept;
QList(std::initializer_list<T> args);
QList(const QVector<T> &vector);

// 析构函数
~QList();

// 公共成员函数
QList<T> &operator=(const QList<T> &other);
QList<T> &operator=(QList<T> &&other) noexcept;
void swap(QList<T> &other) noexcept;
bool operator==(const QList<T> &other) const;
bool operator!=(const QList<T> &other) const;
int size() const; // 返回列表的大小
bool isEmpty() const; // 检查列表是否为空
void resize(int size); // 调整列表的大小
int capacity() const; // 返回列表的容量
void reserve(int size); // 预留容量
void squeeze(); // 压缩列表
void detach(); // 分离数据
bool isDetached() const; // 检查数据是否分离
void setSharable(bool sharable); // 设置是否共享
bool isSharedWith(const QList<T> &other) const; // 检查是否共享数据
void clear(); // 清空列表
const T &at(int i) const; // 返回指定位置的元素
T &operator[](int i); // 返回指定位置的元素
const T &operator[](int i) const; // 返回指定位置的元素
QList<T> &operator+=(const QList<T> &other); // 合并列表
QList<T> operator+(const QList<T> &other) const; // 合并列表
QList<T> &operator+=(const T &value); // 添加元素
QList<T> &append(const T &value); // 添加元素
QList<T> &append(const QList<T> &value); // 添加列表
QList<T> &prepend(const T &value); // 在前面添加元素
QList<T> &insert(int i, const T &value); // 插入元素
QList<T> &insert(int i, int count, const T &value); // 插入多个元素
QList<T>::iterator insert(QList<T>::iterator before, const T &value); // 插入元素
QList<T>::iterator insert(QList<T>::iterator before, int count, const T &value); // 插入多个元素
void replace(int i, const T &value); // 替换元素
void remove(int i); // 移除元素
void remove(int i, int count); // 移除多个元素
int removeAll(const T &value); // 移除所有指定元素
bool removeOne(const T &value); // 移除第一个指定元素
T takeAt(int i); // 获取并移除元素
T takeFirst(); // 获取并移除第一个元素
T takeLast(); // 获取并移除最后一个元素
void move(int from, int to); // 移动元素
void swap(int i, int j); // 交换元素
int indexOf(const T &value, int from = 0) const; // 查找元素的索引
int lastIndexOf(const T &value, int from = -1) const; // 查找元素的最后一个索引
bool contains(const T &value) const; // 检查是否包含元素
int count(const T &value) const; // 返回元素的数量
QList<T> mid(int pos, int length = -1) const; // 返回中间部分列表
T value(int i) const; // 返回指定位置的元素
T value(int i, const T &defaultValue) const; // 返回指定位置的元素,如果不存在则返回默认值
void push_back(const T &value); // 在后面添加元素
void push_front(const T &value); // 在前面添加元素
T &first(); // 返回第一个元素
const T &first() const; // 返回第一个元素
T &last(); // 返回最后一个元素
const T &last() const; // 返回最后一个元素
void pop_front(); // 移除第一个元素
void pop_back(); // 移除最后一个元素
bool startsWith(const T &value) const; // 检查是否以指定元素开始
bool endsWith(const T &value) const; // 检查是否以指定元素结束
QList<T> &fill(const T &value, int size = -1); // 填充列表
QList<T> fromVector(const QVector<T> &vector); // 从向量创建列表
QVector<T> toVector() const; // 转换为向量
QList<T> fromSet(const QSet<T> &set); // 从集合创建列表
QSet<T> toSet() const; // 转换为集合
QList<T> fromStdList(const std::list<T> &list); // 从标准列表创建列表
std::list<T> toStdList() const; // 转换为标准列表

// 迭代器类
class iterator {
public:
    iterator();
    iterator(const iterator &other);
    ~iterator();
    iterator &operator=(const iterator &other);
    bool operator==(const iterator &other) const;
    bool operator!=(const iterator &other) const;
    bool operator<(const iterator &other) const;
    bool operator<=(const iterator &other) const;
    bool operator>(const iterator &other) const;
    bool operator>=(const iterator &other) const;
    T &operator*() const;
    T *operator->() const;
    iterator &operator++();
    iterator operator++(int);
    iterator &operator--();
    iterator operator--(int);
    iterator &operator+=(int j);
    iterator &operator-=(int j);
    iterator operator+(int j) const;
    iterator operator-(int j) const;
    int operator-(iterator other) const;
};

class const_iterator {
public:
    const_iterator();
    const_iterator(const const_iterator &other);
    const_iterator(const iterator &other);
    ~const_iterator();
    const_iterator &operator=(const const_iterator &other);
    bool operator==(const const_iterator &other) const;
    bool operator!=(const const_iterator &other) const;
    bool operator<(const const_iterator &other) const;
    bool operator<=(const const_iterator &other) const;
    bool operator>(const const_iterator &other) const;
    bool operator>=(const const_iterator &other) const;
    const T &operator*() const;
    const T *operator->() const;
    const_iterator &operator++();
    const_iterator operator++(int);
    const_iterator &operator--();
    const_iterator operator--(int);
    const_iterator &operator+=(int j);
    const_iterator &operator-=(int j);
    const_iterator operator+(int j) const;
    const_iterator operator-(int j) const;
    int operator-(const_iterator other) const;
};

日期和时间类

1. QDate 类 用于表示日期。

// QDate 类是 Qt 框架中用于日期操作的重要类。以下是 QDate 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QDate(); // 默认构造函数,创建一个无效的日期
QDate(int year, int month, int day); // 指定年、月、日的构造函数

// 析构函数
~QDate(); // 析构函数

// 公共成员函数
QDate &operator=(const QDate &other); // 赋值运算符
void swap(QDate &other) noexcept; // 交换函数
bool operator==(const QDate &other) const; // 相等运算符
bool operator!=(const QDate &other) const; // 不等运算符
bool operator<(const QDate &other) const; // 小于运算符
bool operator<=(const QDate &other) const; // 小于等于运算符
bool operator>(const QDate &other) const; // 大于运算符
bool operator>=(const QDate &other) const; // 大于等于运算符
bool isNull() const; // 检查日期是否为空
bool isValid() const; // 检查日期是否有效
int year() const; // 返回年份
int month() const; // 返回月份
int day() const; // 返回日
int dayOfWeek() const; // 返回星期几
int dayOfYear() const; // 返回一年中的第几天
int daysInMonth() const; // 返回一个月中的天数
int daysInYear() const; // 返回一年中的天数
QString toString(const QString &format) const; // 按指定格式返回日期字符串
QString toString(Qt::DateFormat format = Qt::TextDate) const; // 按指定格式返回日期字符串
bool setDate(int year, int month, int day); // 设置日期
QDate addDays(qint64 days) const; // 增加天数
QDate addMonths(int months) const; // 增加月数
QDate addYears(int years) const; // 增加年数
qint64 daysTo(const QDate &d) const; // 返回两个日期之间的天数
bool isLeapYear(int year) const; // 检查是否为闰年
static QDate currentDate(); // 返回当前日期
static QDate fromString(const QString &string, Qt::DateFormat format = Qt::TextDate); // 从字符串创建日期
static QDate fromString(const QString &string, const QString &format); // 从字符串和格式创建日期
static bool isValid(int year, int month, int day); // 检查日期是否有效
static QString shortMonthName(int month, QDate::MonthNameType type = QDate::DateFormat); // 返回短月份名称
static QString shortDayName(int weekday, QDate::MonthNameType type = QDate::DateFormat); // 返回短星期名称
static QString longMonthName(int month, QDate::MonthNameType type = QDate::DateFormat); // 返回长月份名称
static QString longDayName(int weekday, QDate::MonthNameType type = QDate::DateFormat); // 返回长星期名称

// 枚举类型
enum MonthNameType {
    DateFormat, // 日期格式
    StandaloneFormat // 独立格式
};

2. QTime 类 用于表示时间。

// QTime 类是 Qt 框架中用于时间操作的重要类。以下是 QTime 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QTime(); // 默认构造函数,创建一个无效的时间
QTime(int hour, int minute, int second = 0, int msec = 0); // 指定时、分、秒和毫秒的构造函数

// 析构函数
~QTime(); // 析构函数

// 公共成员函数
QTime &operator=(const QTime &other); // 赋值运算符
void swap(QTime &other) noexcept; // 交换函数
bool operator==(const QTime &other) const; // 相等运算符
bool operator!=(const QTime &other) const; // 不等运算符
bool operator<(const QTime &other) const; // 小于运算符
bool operator<=(const QTime &other) const; // 小于等于运算符
bool operator>(const QTime &other) const; // 大于运算符
bool operator>=(const QTime &other) const; // 大于等于运算符
bool isNull() const; // 检查时间是否为空
bool isValid() const; // 检查时间是否有效
int hour() const; // 返回小时
int minute() const; // 返回分钟
int second() const; // 返回秒
int msec() const; // 返回毫秒
QString toString(const QString &format) const; // 按指定格式返回时间字符串
QString toString(Qt::DateFormat format = Qt::TextDate) const; // 按指定格式返回时间字符串
bool setHMS(int hour, int minute, int second, int msec = 0); // 设置时间
QTime addSecs(int secs) const; // 增加秒数
int secsTo(const QTime &t) const; // 返回两个时间之间的秒数
QTime addMSecs(int msecs) const; // 增加毫秒数
int msecsTo(const QTime &t) const; // 返回两个时间之间的毫秒数
bool start(); // 开始计时
bool restart(); // 重新开始计时
int elapsed() const; // 返回自开始计时以来的毫秒数
static QTime currentTime(); // 返回当前时间
static QTime fromString(const QString &string, Qt::DateFormat format = Qt::TextDate); // 从字符串创建时间
static QTime fromString(const QString &string, const QString &format); // 从字符串和格式创建时间
static bool isValid(int hour, int minute, int second, int msec = 0); // 检查时间是否有效

// 枚举类型
enum TimeFlag {
    NoFlag // 无标志
};

3. QDateTime 类 用于表示日期和时间。

// QDateTime 类是 Qt 框架中用于日期和时间操作的重要类。以下是 QDateTime 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QDateTime(); // 默认构造函数,创建一个无效的日期时间
QDateTime(const QDate &date, const QTime &time, Qt::TimeSpec spec = Qt::LocalTime); // 指定日期和时间的构造函数
QDateTime(const QDate &date, const QTime &time, Qt::TimeSpec spec, int offsetSeconds); // 指定日期、时间和偏移秒数的构造函数
QDateTime(const QDate &date, const QTime &time, const QTimeZone &timeZone); // 指定日期、时间和时区的构造函数
QDateTime(const QDateTime &other); // 拷贝构造函数
QDateTime(QDateTime &&other) noexcept; // 移动构造函数

// 析构函数
~QDateTime(); // 析构函数

// 公共成员函数
QDateTime &operator=(const QDateTime &other); // 赋值运算符
QDateTime &operator=(QDateTime &&other) noexcept; // 移动赋值运算符
void swap(QDateTime &other) noexcept; // 交换函数
bool operator==(const QDateTime &other) const; // 相等运算符
bool operator!=(const QDateTime &other) const; // 不等运算符
bool operator<(const QDateTime &other) const; // 小于运算符
bool operator<=(const QDateTime &other) const; // 小于等于运算符
bool operator>(const QDateTime &other) const; // 大于运算符
bool operator>=(const QDateTime &other) const; // 大于等于运算符
bool isNull() const; // 检查日期时间是否为空
bool isValid() const; // 检查日期时间是否有效
QDate date() const; // 返回日期部分
QTime time() const; // 返回时间部分
Qt::TimeSpec timeSpec() const; // 返回时间规范
int offsetFromUtc() const; // 返回UTC偏移秒数
QTimeZone timeZone() const; // 返回时区
QString toString(const QString &format) const; // 按指定格式返回日期时间字符串
QString toString(Qt::DateFormat format = Qt::TextDate) const; // 按指定格式返回日期时间字符串
bool setDate(const QDate &date); // 设置日期
bool setTime(const QTime &time); // 设置时间
bool setTimeSpec(Qt::TimeSpec spec); // 设置时间规范
bool setOffsetFromUtc(int offsetSeconds); // 设置UTC偏移秒数
bool setTimeZone(const QTimeZone &toZone); // 设置时区
QDateTime addDays(qint64 days) const; // 增加天数
QDateTime addMonths(int months) const; // 增加月数
QDateTime addYears(int years) const; // 增加年数
QDateTime addSecs(qint64 secs) const; // 增加秒数
QDateTime addMSecs(qint64 msecs) const; // 增加毫秒数
qint64 daysTo(const QDateTime &dt) const; // 返回两个日期时间之间的天数
qint64 secsTo(const QDateTime &dt) const; // 返回两个日期时间之间的秒数
qint64 msecsTo(const QDateTime &dt) const; // 返回两个日期时间之间的毫秒数
bool isDaylightTime() const; // 检查是否为夏令时
QDateTime toTimeSpec(Qt::TimeSpec spec) const; // 转换为指定时间规范
QDateTime toLocalTime() const; // 转换为本地时间
QDateTime toUTC() const; // 转换为UTC时间
QDateTime toOffsetFromUtc(int offsetSeconds) const; // 转换为指定UTC偏移时间
QDateTime toTimeZone(const QTimeZone &timeZone) const; // 转换为指定时区时间
static QDateTime currentDateTime(); // 返回当前日期时间
static QDateTime currentDateTimeUtc(); // 返回当前UTC日期时间
static QDateTime fromString(const QString &string, Qt::DateFormat format = Qt::TextDate); // 从字符串创建日期时间
static QDateTime fromString(const QString &string, const QString &format); // 从字符串和格式创建日期时间
static QDateTime fromMSecsSinceEpoch(qint64 msecs); // 从自纪元以来的毫秒数创建日期时间
static QDateTime fromSecsSinceEpoch(qint64 secs); // 从自纪元以来的秒数创建日期时间
static bool isValid(const QDate &date, const QTime &time); // 检查日期时间是否有效
static qint64 currentMSecsSinceEpoch(); // 返回自纪元以来的当前毫秒数
static qint64 currentSecsSinceEpoch(); // 返回自纪元以来的当前秒数

// 枚举类型
enum TimeSpec {
    LocalTime, // 本地时间
    UTC, // UTC时间
    OffsetFromUTC, // UTC偏移时间
    TimeZone // 时区时间
};

文件和流类

1. QFile 类 用于文件操作。

// QFile 类是 Qt 框架中用于文件操作的重要类。以下是 QFile 类的所有成员函数和枚举类型的详细列表:

// 枚举类型
enum FileError {
    NoError, // 没有错误
    ReadError, // 读取错误
    WriteError, // 写入错误
    FatalError, // 致命错误
    ResourceError, // 资源错误
    OpenError, // 打开错误
    AbortError, // 中止错误
    TimeOutError, // 超时错误
    UnspecifiedError, // 未指定错误
    RemoveError, // 删除错误
    RenameError, // 重命名错误
    PositionError, // 位置错误
    ResizeError, // 调整大小错误
    PermissionsError, // 权限错误
    CopyError // 复制错误
};

enum FileHandleFlag {
    AutoCloseHandle, // 自动关闭文件句柄
    DontCloseHandle // 不关闭文件句柄
};

enum MemoryMapFlags {
    NoOptions // 无选项
};

// 构造函数
QFile(); // 默认构造函数
QFile(const QString &name); // 指定文件名的构造函数
QFile(QObject *parent); // 指定父对象的构造函数
QFile(const QString &name, QObject *parent); // 指定文件名和父对象的构造函数

// 析构函数
~QFile(); // 析构函数

// 公共成员函数
bool atEnd() const; // 检查是否在文件末尾
bool copy(const QString &newName); // 复制文件到新名称
bool exists() const; // 检查文件是否存在
bool flush(); // 刷新文件缓冲区
int handle() const; // 返回文件句柄
bool isOpen() const; // 检查文件是否打开
bool isReadable() const; // 检查文件是否可读
bool isSequential() const; // 检查文件是否是顺序访问的
bool isTextModeEnabled() const; // 检查文件是否在文本模式下打开
bool isWritable() const; // 检查文件是否可写
bool link(const QString &linkName); // 创建文件的链接
bool open(OpenMode mode); // 以指定模式打开文件
bool open(FILE *f, OpenMode mode, FileHandleFlags handleFlags = DontCloseHandle); // 使用现有文件指针打开文件
bool open(int fd, OpenMode mode, FileHandleFlags handleFlags = DontCloseHandle); // 使用现有文件描述符打开文件
qint64 pos() const; // 返回文件当前位置
bool remove(); // 删除文件
bool rename(const QString &newName); // 重命名文件
bool resize(qint64 sz); // 调整文件大小
void setFileName(const QString &name); // 设置文件名
void setTextModeEnabled(bool enabled); // 设置文件的文本模式
qint64 size() const; // 返回文件大小
bool unmap(uchar *address); // 解除内存映射
uchar *map(qint64 offset, qint64 size, MemoryMapFlags flags = NoOptions); // 内存映射文件
QFileDevice::FileError error() const; // 返回文件错误
void unsetError(); // 清除文件错误
bool close(); // 关闭文件
QByteArray readAll(); // 读取所有数据
qint64 read(char *data, qint64 maxSize); // 读取数据
QByteArray read(qint64 maxSize); // 读取数据
qint64 write(const char *data, qint64 maxSize); // 写入数据
qint64 write(const QByteArray &data); // 写入数据
bool seek(qint64 pos); // 定位到指定位置
bool waitForBytesWritten(int msecs); // 等待数据写入
bool waitForReadyRead(int msecs); // 等待数据可读
QFile::Permissions permissions() const; // 返回文件权限
bool setPermissions(QFile::Permissions permissions); // 设置文件权限

// 静态公共成员函数
static bool copy(const QString &fileName, const QString &newName); // 复制文件
static bool remove(const QString &fileName); // 删除文件
static bool rename(const QString &oldName, const QString &newName); // 重命名文件
static bool resize(const QString &fileName, qint64 sz); // 调整文件大小
static bool exists(const QString &fileName); // 检查文件是否存在
static bool setPermissions(const QString &fileName, QFile::Permissions permissions); // 设置文件权限
static QFile::Permissions permissions(const QString &fileName); // 返回文件权限

// 枚举类型
enum Permission {
    ReadOwner = 0x4000, // 读取所有者权限
    WriteOwner = 0x2000, // 写入所有者权限
    ExeOwner = 0x1000, // 执行所有者权限
    ReadUser = 0x0400, // 读取用户权限
    WriteUser = 0x0200, // 写入用户权限
    ExeUser = 0x0100, // 执行用户权限
    ReadGroup = 0x0040, // 读取组权限
    WriteGroup = 0x0020, // 写入组权限
    ExeGroup = 0x0010, // 执行组权限
    ReadOther = 0x0004, // 读取其他权限
    WriteOther = 0x0002, // 写入其他权限
    ExeOther = 0x0001 // 执行其他权限
};

enum OpenModeFlag {
    NotOpen = 0x0000, // 不打开
    ReadOnly = 0x0001, // 只读
    WriteOnly = 0x0002, // 只写
    ReadWrite = ReadOnly | WriteOnly, // 读写
    Append = 0x0004, // 追加
    Truncate = 0x0008, // 截断
    Text = 0x0010, // 文本模式
    Unbuffered = 0x0020 // 无缓冲
};

Q_DECLARE_FLAGS(OpenMode, OpenModeFlag)
Q_DECLARE_OPERATORS_FOR_FLAGS(QFile::OpenMode)

QDir 类 用于目录操作。

class QDir {
public:
    // 构造函数
    QDir(); // 默认构造函数,创建一个空的 QDir 对象
    QDir(const QString &path); // 根据给定的路径创建一个 QDir 对象
    QDir(const QDir &other); // 拷贝构造函数,创建一个与 other 相同的 QDir 对象

    // 析构函数
    ~QDir(); // 析构函数

    // 公共成员函数
    QDir &operator=(const QDir &other); // 赋值运算符
    QDir &operator=(QDir &&other) noexcept; // 移动赋值运算符
    void swap(QDir &other) noexcept; // 交换函数
    bool operator==(const QDir &other) const; // 相等运算符
    bool operator!=(const QDir &other) const; // 不等运算符

    // 路径操作
    void setPath(const QString &path); // 设置目录路径
    QString path() const; // 返回当前目录的路径
    QString absolutePath() const; // 返回当前目录的绝对路径
    QString canonicalPath() const; // 返回当前目录的规范路径(去除符号链接和冗余的`.`和`..`)
    QString dirName() const; // 返回目录的名称
    QString filePath(const QString &fileName) const; // 返回文件的完整路径
    QString absoluteFilePath(const QString &fileName) const; // 返回文件的绝对路径
    QString relativeFilePath(const QString &fileName) const; // 返回相对于当前目录的文件路径

    // 目录操作
    bool exists() const; // 检查目录是否存在
    bool mkdir(const QString &dirName) const; // 创建一个名为 dirName 的目录
    bool rmdir(const QString &dirName) const; // 删除一个名为 dirName 的目录
    bool mkpath(const QString &dirPath) const; // 创建路径中所有不存在的目录
    bool rmpath(const QString &dirPath) const; // 删除路径中所有的目录
    bool removeRecursively(); // 递归删除目录及其内容
    bool rename(const QString &oldName, const QString &newName); // 将目录从 oldName 重命名为 newName
    bool exists(const QString &name) const; // 检查名为 name 的文件或目录是否存在

    // 文件操作
    QStringList entryList(const QStringList &nameFilters = QStringList(), QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::NoSort) const; // 列出目录内容
    QFileInfoList entryInfoList(const QStringList &nameFilters = QStringList(), QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::NoSort) const; // 列出目录内容的文件信息
    bool remove(const QString &fileName); // 删除名为 fileName 的文件
    bool rename(const QString &oldName, const QString &newName); // 将文件从 oldName 重命名为 newName
    bool exists(const QString &name) const; // 检查名为 name 的文件或目录是否存在

    // 静态成员函数
    static QDir current(); // 返回当前工作目录
    static QDir home(); // 返回用户的主目录
    static QDir root(); // 返回根目录
    static QDir temp(); // 返回临时目录
    static bool setCurrent(const QString &path); // 设置当前工作目录
    static QString currentPath(); // 返回当前工作目录的路径
    static QString homePath(); // 返回用户的主目录路径
    static QString rootPath(); // 返回根目录路径
    static QString tempPath(); // 返回临时目录路径

    // 枚举类型
    enum Filter {
        Dirs = 0x001, // 列出目录
        Files = 0x002, // 列出文件
        Drives = 0x004, // 列出驱动器
        NoSymLinks = 0x008, // 不列出符号链接
        AllDirs = 0x010, // 列出所有目录
        CaseSensitive = 0x020, // 区分大小写
        NoDotAndDotDot = 0x040, // 不列出`.`和`..`
        NoDot = 0x080, // 不列出`.`
        NoDotDot = 0x100, // 不列出`..`
        AllEntries = Dirs | Files | Drives, // 列出所有条目
        NoFilter = -1 // 无过滤器
    };

    enum SortFlag {
        Name = 0x00, // 按名称排序
        Time = 0x01, // 按时间排序
        Size = 0x02, // 按大小排序
        Type = 0x03, // 按类型排序
        Unsorted = 0x04, // 不排序
        SortByMask = 0x0F, // 排序掩码
        DirsFirst = 0x10, // 目录优先
        Reversed = 0x20, // 反向排序
        IgnoreCase = 0x40, // 忽略大小写
        DirsLast = 0x80, // 目录最后
        LocaleAware = 0x100, // 本地化感知排序
        NoSort = -1 // 不排序
    };
};


QFileInfo 类 用于文件信息操作。

class QFileInfo {
public:
    // 构造函数
    QFileInfo(); // 默认构造函数,创建一个无效的 QFileInfo 对象
    QFileInfo(const QString &file); // 根据给定的文件路径创建一个 QFileInfo 对象
    QFileInfo(const QFile &file); // 根据给定的 QFile 对象创建一个 QFileInfo 对象
    QFileInfo(const QDir &dir, const QString &file); // 根据给定的目录和文件名创建一个 QFileInfo 对象
    QFileInfo(const QFileInfo &fileinfo); // 拷贝构造函数,创建一个与 fileinfo 相同的 QFileInfo 对象

    // 析构函数
    ~QFileInfo(); // 析构函数

    // 公共成员函数
    QFileInfo &operator=(const QFileInfo &fileinfo); // 赋值运算符
    QFileInfo &operator=(QFileInfo &&other) noexcept; // 移动赋值运算符
    void swap(QFileInfo &other) noexcept; // 交换函数

    // 文件路径操作
    void setFile(const QString &file); // 设置文件路径
    void setFile(const QFile &file); // 设置文件路径
    void setFile(const QDir &dir, const QString &file); // 设置文件路径
    QString filePath() const; // 返回文件的完整路径
    QString absoluteFilePath() const; // 返回文件的绝对路径
    QString canonicalFilePath() const; // 返回文件的规范路径(去除符号链接和冗余的`.`和`..`)
    QString fileName() const; // 返回文件名
    QString baseName() const; // 返回文件的基本名称(不包括扩展名)
    QString completeBaseName() const; // 返回文件的完整基本名称(不包括扩展名)
    QString suffix() const; // 返回文件的扩展名
    QString completeSuffix() const; // 返回文件的完整扩展名
    QString path() const; // 返回文件路径(不包括文件名)
    QString absolutePath() const; // 返回文件的绝对路径(不包括文件名)
    QString canonicalPath() const; // 返回文件的规范路径(不包括文件名)

    // 目录操作
    QDir dir() const; // 返回文件所在的目录
    QDir absoluteDir() const; // 返回文件所在的绝对目录

    // 文件属性
    bool exists() const; // 检查文件是否存在
    void refresh(); // 刷新文件信息
    QDateTime created() const; // 返回文件的创建时间
    QDateTime lastModified() const; // 返回文件的最后修改时间
    QDateTime lastRead() const; // 返回文件的最后读取时间
    bool isFile() const; // 检查是否为文件
    bool isDir() const; // 检查是否为目录
    bool isSymLink() const; // 检查是否为符号链接
    bool isShortcut() const; // 检查是否为快捷方式
    bool isRoot() const; // 检查是否为根目录
    bool isHidden() const; // 检查是否为隐藏文件
    bool isReadable() const; // 检查文件是否可读
    bool isWritable() const; // 检查文件是否可写
    bool isExecutable() const; // 检查文件是否可执行
    bool isRelative() const; // 检查路径是否为相对路径
    bool isAbsolute() const; // 检查路径是否为绝对路径
    bool makeAbsolute(); // 将路径转换为绝对路径
    bool permission(QFile::Permissions permissions) const; // 检查文件权限
    QFile::Permissions permissions() const; // 返回文件权限
    qint64 size() const; // 返回文件大小

    // 符号链接操作
    QString symLinkTarget() const; // 返回符号链接的目标路径

    // 静态成员函数
    static QString currentPath(); // 返回当前工作目录路径
    static QString homePath(); // 返回用户主目录路径
    static QString rootPath(); // 返回根目录路径
    static QString tempPath(); // 返回临时目录路径
    static QFileInfo fromNativeSeparators(const QString &pathName); // 将路径中的反斜杠转换为斜杠
    static QString toNativeSeparators(const QString &pathName); // 将路径中的斜杠转换为反斜杠

    // 枚举类型
    enum Permission {
        ReadOwner = 0x4000, // 读取所有者权限
        WriteOwner = 0x2000, // 写入所有者权限
        ExeOwner = 0x1000, // 执行所有者权限
        ReadUser = 0x0400, // 读取用户权限
        WriteUser = 0x0200, // 写入用户权限
        ExeUser = 0x0100, // 执行用户权限
        ReadGroup = 0x0040, // 读取组权限
        WriteGroup = 0x0020, // 写入组权限
        ExeGroup = 0x0010, // 执行组权限
        ReadOther = 0x0004, // 读取其他权限
        WriteOther = 0x0002, // 写入其他权限
        ExeOther = 0x0001 // 执行其他权限
    };
};

2. QTextStream 类 用于文本流操作。

// QTextStream 类是 Qt 框架中用于文本流操作的重要类。以下是 QTextStream 类的所有成员函数和枚举类型的详细列表:

// 枚举类型
enum NumberFlag {
    ShowBase = 0x1, // 显示基数前缀
    ForcePoint = 0x2, // 强制显示小数点
    ForceSign = 0x4, // 强制显示符号
    UppercaseBase = 0x8, // 基数前缀大写
    UppercaseDigits = 0x10 // 数字大写
};

enum RealNumberNotation {
    ScientificNotation, // 科学计数法
    FixedNotation, // 固定小数点表示法
    SmartNotation // 智能表示法
};

enum FieldAlignment {
    AlignLeft, // 左对齐
    AlignRight, // 右对齐
    AlignCenter, // 居中对齐
    AlignAccountingStyle // 会计样式对齐
};

enum Status {
    Ok, // 状态正常
    ReadPastEnd, // 读取超过末尾
    ReadCorruptData, // 读取损坏数据
    WriteFailed // 写入失败
};

// 构造函数
QTextStream(); // 默认构造函数
QTextStream(QIODevice *device); // 指定设备的构造函数
QTextStream(FILE *fileHandle, QIODevice::OpenMode openMode = QIODevice::ReadWrite); // 指定文件指针的构造函数
QTextStream(QString *string, QIODevice::OpenMode openMode = QIODevice::ReadWrite); // 指定字符串的构造函数
QTextStream(QByteArray *array, QIODevice::OpenMode openMode = QIODevice::ReadWrite); // 指定字节数组的构造函数
QTextStream(const QByteArray &array, QIODevice::OpenMode openMode = QIODevice::ReadOnly); // 指定常量字节数组的构造函数

// 析构函数
~QTextStream(); // 析构函数

// 公共成员函数
bool atEnd() const; // 检查是否在流的末尾
void flush(); // 刷新流
bool generateByteOrderMark() const; // 检查是否生成字节顺序标记
QTextCodec *codec() const; // 返回当前编码
int integerBase() const; // 返回整数基数
QTextStream::NumberFlags numberFlags() const; // 返回数字格式标志
QChar padChar() const; // 返回填充字符
QString readAll(); // 读取所有数据
QString readLine(qint64 maxlen = 0); // 读取一行数据
bool readLineInto(QString *line, qint64 maxlen = 0); // 读取一行数据到指定字符串
QTextStream::RealNumberNotation realNumberNotation() const; // 返回实数表示法
int realNumberPrecision() const; // 返回实数精度
void reset(); // 重置流
void resetStatus(); // 重置状态
bool seek(qint64 pos); // 定位到指定位置
void setByteOrder(QDataStream::ByteOrder bo); // 设置字节顺序
void setCodec(QTextCodec *codec); // 设置编码
void setCodec(const char *codecName); // 设置编码
void setGenerateByteOrderMark(bool generate); // 设置是否生成字节顺序标记
void setIntegerBase(int base); // 设置整数基数
void setNumberFlags(QTextStream::NumberFlags flags); // 设置数字格式标志
void setPadChar(QChar ch); // 设置填充字符
void setFieldAlignment(QTextStream::FieldAlignment alignment); // 设置字段对齐方式
void setFieldWidth(int width); // 设置字段宽度
void setRealNumberNotation(QTextStream::RealNumberNotation notation); // 设置实数表示法
void setRealNumberPrecision(int precision); // 设置实数精度
void setStatus(QTextStream::Status status); // 设置状态
void setString(QString *string, QIODevice::OpenMode openMode = QIODevice::ReadWrite); // 设置字符串
void skipWhiteSpace(); // 跳过空白字符
QTextStream::Status status() const; // 返回状态
QString *string() const; // 返回当前字符串
QIODevice *device() const; // 返回当前设备
void setDevice(QIODevice *device); // 设置设备
bool isDeviceNull() const; // 检查设备是否为空
bool isNull() const; // 检查流是否为空
bool isOpen() const; // 检查流是否打开
bool isReadable() const; // 检查流是否可读
bool isWritable() const; // 检查流是否可写
QTextStream &operator>>(QChar &ch); // 读取字符
QTextStream &operator>>(char &ch); // 读取字符
QTextStream &operator>>(signed short &i); // 读取短整型
QTextStream &operator>>(unsigned short &i); // 读取无符号短整型
QTextStream &operator>>(signed int &i); // 读取整型
QTextStream &operator>>(unsigned int &i); // 读取无符号整型
QTextStream &operator>>(signed long &i); // 读取长整型
QTextStream &operator>>(unsigned long &i); // 读取无符号长整型
QTextStream &operator>>(qlonglong &i); // 读取长长整型
QTextStream &operator>>(qulonglong &i); // 读取无符号长长整型
QTextStream &operator>>(float &f); // 读取浮点型
QTextStream &operator>>(double &f); // 读取双精度浮点型
QTextStream &operator>>(QString &s); // 读取字符串
QTextStream &operator>>(QByteArray &array); // 读取字节数组
QTextStream &operator<<(QChar ch); // 写入字符
QTextStream &operator<<(char ch); // 写入字符
QTextStream &operator<<(signed short i); // 写入短整型
QTextStream &operator<<(unsigned short i); // 写入无符号短整型
QTextStream &operator<<(signed int i); // 写入整型
QTextStream &operator<<(unsigned int i); // 写入无符号整型
QTextStream &operator<<(signed long i); // 写入长整型
QTextStream &operator<<(unsigned long i); // 写入无符号长整型
QTextStream &operator<<(qlonglong i); // 写入长长整型
QTextStream &operator<<(qulonglong i); // 写入无符号长长整型
QTextStream &operator<<(float f); // 写入浮点型
QTextStream &operator<<(double f); // 写入双精度浮点型
QTextStream &operator<<(const QString &s); // 写入字符串
QTextStream &operator<<(const QByteArray &array); // 写入字节数组
QTextStream &operator<<(const char *string); // 写入C字符串
QTextStream &operator<<(const void *ptr); // 写入指针

// 静态公共成员函数
static QTextStream &endl(QTextStream &stream); // 插入换行符并刷新流
static QTextStream &flush(QTextStream &stream); // 刷新流
static QTextStream &reset(QTextStream &stream); // 重置流
static QTextStream &ws(QTextStream &stream); // 跳过空白字符
static QTextStream &bom(QTextStream &stream); // 插入字节顺序标记

3. QDataStream 类 用于数据流操作。

// QDataStream 类是 Qt 框架中用于二进制数据流操作的重要类。以下是 QDataStream 类的所有成员函数和枚举类型的详细列表:

// 枚举类型
enum ByteOrder {
    BigEndian, // 大端字节序
    LittleEndian // 小端字节序
};

enum FloatingPointPrecision {
    SinglePrecision, // 单精度浮点数
    DoublePrecision // 双精度浮点数
};

enum Status {
    Ok, // 状态正常
    ReadPastEnd, // 读取超过末尾
    ReadCorruptData, // 读取损坏数据
    WriteFailed // 写入失败
};

enum Version {
    Qt_1_0 = 1,
    Qt_2_0 = 2,
    Qt_2_1 = 3,
    Qt_3_0 = 4,
    Qt_3_1 = 5,
    Qt_3_3 = 6,
    Qt_4_0 = 7,
    Qt_4_1 = 8,
    Qt_4_2 = 9,
    Qt_4_3 = 10,
    Qt_4_4 = 11,
    Qt_4_5 = 12,
    Qt_4_6 = 13,
    Qt_4_7 = 14,
    Qt_4_8 = 15,
    Qt_4_9 = 16,
    Qt_5_0 = 17,
    Qt_5_1 = 18,
    Qt_5_2 = 19,
    Qt_5_3 = 20,
    Qt_5_4 = 21,
    Qt_5_5 = 22,
    Qt_5_6 = 23,
    Qt_5_7 = 24,
    Qt_5_8 = 25,
    Qt_5_9 = 26,
    Qt_5_10 = 27,
    Qt_5_11 = 28,
    Qt_5_12 = 29,
    Qt_5_13 = 30,
    Qt_5_14 = 31,
    Qt_5_15 = 32,
    Qt_6_0 = 33
};

// 构造函数
QDataStream(); // 默认构造函数
QDataStream(QIODevice *d); // 指定设备的构造函数
QDataStream(QByteArray *a, QIODevice::OpenMode mode); // 指定字节数组的构造函数
QDataStream(const QByteArray &a); // 指定常量字节数组的构造函数

// 析构函数
~QDataStream(); // 析构函数

// 公共成员函数
bool atEnd() const; // 检查是否在流的末尾
QIODevice *device() const; // 返回当前设备
QDataStream::ByteOrder byteOrder() const; // 返回字节顺序
bool floatingPointPrecision() const; // 返回浮点数精度
bool isRawDataEnabled() const; // 检查是否启用原始数据
bool isVersionEnabled() const; // 检查是否启用版本
QDataStream::Status status() const; // 返回状态
QDataStream::Version version() const; // 返回版本
void setByteOrder(QDataStream::ByteOrder bo); // 设置字节顺序
void setDevice(QIODevice *d); // 设置设备
void setFloatingPointPrecision(QDataStream::FloatingPointPrecision precision); // 设置浮点数精度
void setRawData(const char *data, int len); // 设置原始数据
void setStatus(QDataStream::Status status); // 设置状态
void setVersion(int v); // 设置版本
void unsetDevice(); // 取消设置设备
void resetStatus(); // 重置状态
void skipRawData(int len); // 跳过原始数据
QDataStream &operator>>(QChar &ch); // 读取字符
QDataStream &operator>>(char &ch); // 读取字符
QDataStream &operator>>(signed short &i); // 读取短整型
QDataStream &operator>>(unsigned short &i); // 读取无符号短整型
QDataStream &operator>>(signed int &i); // 读取整型
QDataStream &operator>>(unsigned int &i); // 读取无符号整型
QDataStream &operator>>(signed long &i); // 读取长整型
QDataStream &operator>>(unsigned long &i); // 读取无符号长整型
QDataStream &operator>>(qlonglong &i); // 读取长长整型
QDataStream &operator>>(qulonglong &i); // 读取无符号长长整型
QDataStream &operator>>(float &f); // 读取浮点型
QDataStream &operator>>(double &f); // 读取双精度浮点型
QDataStream &operator>>(QString &s); // 读取字符串
QDataStream &operator>>(QByteArray &array); // 读取字节数组
QDataStream &operator<<(QChar ch); // 写入字符
QDataStream &operator<<(char ch); // 写入字符
QDataStream &operator<<(signed short i); // 写入短整型
QDataStream &operator<<(unsigned short i); // 写入无符号短整型
QDataStream &operator<<(signed int i); // 写入整型
QDataStream &operator<<(unsigned int i); // 写入无符号整型
QDataStream &operator<<(signed long i); // 写入长整型
QDataStream &operator<<(unsigned long i); // 写入无符号长整型
QDataStream &operator<<(qlonglong i); // 写入长长整型
QDataStream &operator<<(qulonglong i); // 写入无符号长长整型
QDataStream &operator<<(float f); // 写入浮点型
QDataStream &operator<<(double f); // 写入双精度浮点型
QDataStream &operator<<(const QString &s); // 写入字符串
QDataStream &operator<<(const QByteArray &array); // 写入字节数组

// 静态公共成员函数
static QDataStream &readLine(QDataStream &s, QString &line); // 读取一行数据
static QDataStream &readBytes(QDataStream &s, QByteArray &array); // 读取字节数组
static QDataStream &writeBytes(QDataStream &s, const QByteArray &array); // 写入字节数组

图形和坐标

QPoint:表示二维平面上的点。

// QPoint 类是 Qt 框架中用于表示二维平面上的点的类。以下是 QPoint 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QPoint(); // 默认构造函数,创建一个原点 (0, 0)
QPoint(int xpos, int ypos); // 指定 x 和 y 坐标的构造函数

// 析构函数
~QPoint(); // 析构函数

// 公共成员函数
int x() const; // 返回 x 坐标
int y() const; // 返回 y 坐标
void setX(int x); // 设置 x 坐标
void setY(int y); // 设置 y 坐标
bool isNull() const; // 检查点是否为原点 (0, 0)
int manhattanLength() const; // 返回点与原点的曼哈顿距离
QPoint &operator+=(const QPoint &point); // 加法运算符
QPoint &operator-=(const QPoint &point); // 减法运算符
QPoint &operator*=(qreal factor); // 乘法运算符
QPoint &operator/=(qreal divisor); // 除法运算符
QPoint &operator=(const QPoint &other); // 赋值运算符
bool operator==(const QPoint &p1, const QPoint &p2); // 相等运算符
bool operator!=(const QPoint &p1, const QPoint &p2); // 不等运算符
QPoint operator+(const QPoint &p1, const QPoint &p2); // 加法运算符
QPoint operator-(const QPoint &p1, const QPoint &p2); // 减法运算符
QPoint operator*(const QPoint &point, qreal factor); // 乘法运算符
QPoint operator*(qreal factor, const QPoint &point); // 乘法运算符
QPoint operator/(const QPoint &point, qreal divisor); // 除法运算符
QPoint operator-(const QPoint &point); // 负号运算符

// 静态公共成员函数
static qreal dotProduct(const QPoint &p1, const QPoint &p2); // 计算两个点的点积

QSize:表示二维平面上的大小。

// QSize 类是 Qt 框架中用于表示二维尺寸的类。以下是 QSize 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QSize(); // 默认构造函数,创建一个无效的尺寸 (0, 0)
QSize(int width, int height); // 指定宽度和高度的构造函数

// 析构函数
~QSize(); // 析构函数

// 公共成员函数
bool isNull() const; // 检查尺寸是否为 (0, 0)
bool isEmpty() const; // 检查尺寸是否为空,即宽度或高度小于等于 0
bool isValid() const; // 检查尺寸是否有效,即宽度和高度都大于等于 0
int width() const; // 返回宽度
int height() const; // 返回高度
void setWidth(int width); // 设置宽度
void setHeight(int height); // 设置高度
void transpose(); // 转置尺寸,交换宽度和高度
QSize transposed() const; // 返回转置后的尺寸

QSize &operator+=(const QSize &size); // 加法赋值运算符
QSize &operator-=(const QSize &size); // 减法赋值运算符
QSize &operator*=(double factor); // 乘法赋值运算符
QSize &operator/=(double divisor); // 除法赋值运算符

// 运算符重载
bool operator==(const QSize &s1, const QSize &s2); // 相等运算符
bool operator!=(const QSize &s1, const QSize &s2); // 不等运算符
QSize operator+(const QSize &s1, const QSize &s2); // 加法运算符
QSize operator-(const QSize &s1, const QSize &s2); // 减法运算符
QSize operator*(const QSize &size, double factor); // 乘法运算符
QSize operator*(double factor, const QSize &size); // 乘法运算符
QSize operator/(const QSize &size, double divisor); // 除法运算符

// 扩展尺寸的方法
void scale(int w, int h, Qt::AspectRatioMode mode); // 按指定模式缩放尺寸
void scale(const QSize &s, Qt::AspectRatioMode mode); // 按指定模式缩放尺寸

// 调整尺寸的方法
QSize expandedTo(const QSize &other) const; // 返回扩展到另一个尺寸后的结果
QSize boundedTo(const QSize &other) const; // 返回缩小到另一个尺寸后的结果

QRect:表示二维平面上的矩形。

// QRect 类是 Qt 框架中用于表示二维矩形的类。以下是 QRect 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QRect(); // 默认构造函数,创建一个无效的矩形
QRect(const QPoint &topLeft, const QPoint &bottomRight); // 指定左上角和右下角点的构造函数
QRect(const QPoint &topLeft, const QSize &size); // 指定左上角点和尺寸的构造函数
QRect(int x, int y, int width, int height); // 指定左上角坐标和尺寸的构造函数

// 析构函数
~QRect(); // 析构函数

// 公共成员函数
bool isNull() const; // 检查矩形是否为空
bool isEmpty() const; // 检查矩形是否为空,即宽度或高度小于等于 0
bool isValid() const; // 检查矩形是否有效,即宽度和高度都大于等于 0
int x() const; // 返回左上角的 x 坐标
int y() const; // 返回左上角的 y 坐标
void setX(int x); // 设置左上角的 x 坐标
void setY(int y); // 设置左上角的 y 坐标
int left() const; // 返回左边缘的 x 坐标
int top() const; // 返回上边缘的 y 坐标
int right() const; // 返回右边缘的 x 坐标
int bottom() const; // 返回下边缘的 y 坐标
void setLeft(int x); // 设置左边缘的 x 坐标
void setTop(int y); // 设置上边缘的 y 坐标
void setRight(int x); // 设置右边缘的 x 坐标
void setBottom(int y); // 设置下边缘的 y 坐标
QPoint topLeft() const; // 返回左上角点
QPoint bottomRight() const; // 返回右下角点
QPoint topRight() const; // 返回右上角点
QPoint bottomLeft() const; // 返回左下角点
QPoint center() const; // 返回矩形的中心点
void setTopLeft(const QPoint &position); // 设置左上角点
void setBottomRight(const QPoint &position); // 设置右下角点
void setTopRight(const QPoint &position); // 设置右上角点
void setBottomLeft(const QPoint &position); // 设置左下角点
void moveLeft(int x); // 移动矩形使其左边缘的 x 坐标为指定值
void moveTop(int y); // 移动矩形使其上边缘的 y 坐标为指定值
void moveRight(int x); // 移动矩形使其右边缘的 x 坐标为指定值
void moveBottom(int y); // 移动矩形使其下边缘的 y 坐标为指定值
void moveTopLeft(const QPoint &position); // 移动矩形使其左上角点为指定值
void moveBottomRight(const QPoint &position); // 移动矩形使其右下角点为指定值
void moveTopRight(const QPoint &position); // 移动矩形使其右上角点为指定值
void moveBottomLeft(const QPoint &position); // 移动矩形使其左下角点为指定值
void moveCenter(const QPoint &position); // 移动矩形使其中心点为指定值
void translate(int dx, int dy); // 平移矩形
void translate(const QPoint &offset); // 平移矩形
QRect translated(int dx, int dy) const; // 返回平移后的矩形
QRect translated(const QPoint &offset) const; // 返回平移后的矩形
void moveTo(int x, int y); // 移动矩形使其左上角点为指定值
void moveTo(const QPoint &position); // 移动矩形使其左上角点为指定值
void setRect(int x, int y, int width, int height); // 设置矩形的坐标和尺寸
void getRect(int *x, int *y, int *width, int *height) const; // 获取矩形的坐标和尺寸
void setCoords(int x1, int y1, int x2, int y2); // 设置矩形的坐标
void getCoords(int *x1, int *y1, int *x2, int *y2) const; // 获取矩形的坐标
void adjust(int dx1, int dy1, int dx2, int dy2); // 调整矩形的坐标
QRect adjusted(int dx1, int dy1, int dx2, int dy2) const; // 返回调整后的矩形
QSize size() const; // 返回矩形的尺寸
int width() const; // 返回矩形的宽度
int height() const; // 返回矩形的高度
void setWidth(int width); // 设置矩形的宽度
void setHeight(int height); // 设置矩形的高度
void setSize(const QSize &size); // 设置矩形的尺寸
bool contains(const QPoint &point) const; // 检查矩形是否包含指定点
bool contains(int x, int y) const; // 检查矩形是否包含指定点
bool contains(const QRect &rectangle) const; // 检查矩形是否包含指定矩形
QRect united(const QRect &rectangle) const; // 返回两个矩形的并集
QRect intersected(const QRect &rectangle) const; // 返回两个矩形的交集
bool intersects(const QRect &rectangle) const; // 检查矩形是否与指定矩形相交

// 运算符重载
bool operator==(const QRect &r1, const QRect &r2); // 相等运算符
bool operator!=(const QRect &r1, const QRect &r2); // 不等运算符
QRect operator&(const QRect &r1, const QRect &r2); // 交集运算符
QRect &operator&=(const QRect &rectangle); // 交集赋值运算符
QRect operator|(const QRect &r1, const QRect &r2); // 并集运算符
QRect &operator|=(const QRect &rectangle); // 并集赋值运算符

QColor:表示颜色。

// QColor 类是 Qt 框架中用于表示颜色的类。以下是 QColor 类的所有成员函数和枚举类型的详细列表:

// 枚举类型
enum Spec {
    Invalid, // 无效颜色
    Rgb, // RGB 颜色
    Hsv, // HSV 颜色
    Cmyk, // CMYK 颜色
    Hsl // HSL 颜色
};

enum NameFormat {
    HexRgb, // 十六进制 RGB 格式
    HexArgb // 十六进制 ARGB 格式
};

// 构造函数
QColor(); // 默认构造函数,创建一个无效的颜色
QColor(int r, int g, int b, int a = 255); // 指定 RGB 和透明度的构造函数
QColor(QRgb rgb); // 指定 RGB 值的构造函数
QColor(const QString &name); // 指定颜色名称的构造函数
QColor(const char *name); // 指定颜色名称的构造函数
QColor(QLatin1String name); // 指定颜色名称的构造函数
QColor(Qt::GlobalColor color); // 指定全局颜色的构造函数

// 析构函数
~QColor(); // 析构函数

// 公共成员函数
bool isValid() const; // 检查颜色是否有效
QString name() const; // 返回颜色的名称
void setNamedColor(const QString &name); // 设置颜色的名称
QStringList colorNames() const; // 返回所有支持的颜色名称
Spec spec() const; // 返回颜色的规范
int alpha() const; // 返回透明度
void setAlpha(int alpha); // 设置透明度
qreal alphaF() const; // 返回透明度的浮点值
void setAlphaF(qreal alpha); // 设置透明度的浮点值
int red() const; // 返回红色分量
int green() const; // 返回绿色分量
int blue() const; // 返回蓝色分量
void setRed(int red); // 设置红色分量
void setGreen(int green); // 设置绿色分量
void setBlue(int blue); // 设置蓝色分量
qreal redF() const; // 返回红色分量的浮点值
qreal greenF() const; // 返回绿色分量的浮点值
qreal blueF() const; // 返回蓝色分量的浮点值
void setRedF(qreal red); // 设置红色分量的浮点值
void setGreenF(qreal green); // 设置绿色分量的浮点值
void setBlueF(qreal blue); // 设置蓝色分量的浮点值
QRgb rgb() const; // 返回 RGB 值
void setRgb(int r, int g, int b, int a = 255); // 设置 RGB 值
void setRgb(QRgb rgb); // 设置 RGB 值
QRgb rgba() const; // 返回 RGBA 值
void setRgba(QRgb rgba); // 设置 RGBA 值
int hue() const; // 返回 HSV 色调
int saturation() const; // 返回 HSV 饱和度
int value() const; // 返回 HSV 值
void setHsv(int h, int s, int v, int a = 255); // 设置 HSV 值
qreal hueF() const; // 返回 HSV 色调的浮点值
qreal saturationF() const; // 返回 HSV 饱和度的浮点值
qreal valueF() const; // 返回 HSV 值的浮点值
void setHsvF(qreal h, qreal s, qreal v, qreal a = 1.0); // 设置 HSV 值的浮点值
int cyan() const; // 返回 CMYK 青色分量
int magenta() const; // 返回 CMYK 品红色分量
int yellow() const; // 返回 CMYK 黄色分量
int black() const; // 返回 CMYK 黑色分量
void setCmyk(int c, int m, int y, int k, int a = 255); // 设置 CMYK 值
qreal cyanF() const; // 返回 CMYK 青色分量的浮点值
qreal magentaF() const; // 返回 CMYK 品红色分量的浮点值
qreal yellowF() const; // 返回 CMYK 黄色分量的浮点值
qreal blackF() const; // 返回 CMYK 黑色分量的浮点值
void setCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0); // 设置 CMYK 值的浮点值
int hueHsl() const; // 返回 HSL 色调
int saturationHsl() const; // 返回 HSL 饱和度
int lightness() const; // 返回 HSL 亮度
void setHsl(int h, int s, int l, int a = 255); // 设置 HSL 值
qreal hueHslF() const; // 返回 HSL 色调的浮点值
qreal saturationHslF() const; // 返回 HSL 饱和度的浮点值
qreal lightnessF() const; // 返回 HSL 亮度的浮点值
void setHslF(qreal h, qreal s, qreal l, qreal a = 1.0); // 设置 HSL 值的浮点值
QColor toRgb() const; // 转换为 RGB 颜色
QColor toHsv() const; // 转换为 HSV 颜色
QColor toCmyk() const; // 转换为 CMYK 颜色
QColor toHsl() const; // 转换为 HSL 颜色
int lighter(int factor = 150) const; // 返回更亮的颜色
int darker(int factor = 200) const; // 返回更暗的颜色
bool operator==(const QColor &c1, const QColor &c2); // 相等运算符
bool operator!=(const QColor &c1, const QColor &c2); // 不等运算符

// 静态公共成员函数
static QColor fromRgb(QRgb rgb); // 从 RGB 值创建颜色
static QColor fromRgba(QRgb rgba); // 从 RGBA 值创建颜色
static QColor fromRgb(int r, int g, int b, int a = 255); // 从 RGB 值创建颜色
static QColor fromHsv(int h, int s, int v, int a = 255); // 从 HSV 值创建颜色
static QColor fromHsvF(qreal h, qreal s, qreal v, qreal a = 1.0); // 从 HSV 值的浮点值创建颜色
static QColor fromCmyk(int c, int m, int y, int k, int a = 255); // 从 CMYK 值创建颜色
static QColor fromCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0); // 从 CMYK 值的浮点值创建颜色
static QColor fromHsl(int h, int s, int l, int a = 255); // 从 HSL 值创建颜色
static QColor fromHslF(qreal h, qreal s, qreal l, qreal a = 1.0); // 从 HSL 值的浮点值创建颜色
static QColor fromName(const QString &name); // 从颜色名称创建颜色
static QColor fromString(const QString &name); // 从颜色名称创建颜色
static bool isValidColor(const QString &name); // 检查颜色名称是否有效

QPixmap:用于处理图像。

// QPixmap 类是 Qt 框架中用于处理图像的重要类。以下是 QPixmap 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QPixmap(); // 默认构造函数,创建一个空的 QPixmap 对象
QPixmap(const QPixmap &pixmap); // 拷贝构造函数
QPixmap(int width, int height); // 指定宽度和高度的构造函数
QPixmap(const QSize &size); // 指定尺寸的构造函数
QPixmap(const QString &fileName, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor); // 从文件加载图像的构造函数

// 析构函数
~QPixmap(); // 析构函数

// 公共成员函数
QPixmap &operator=(const QPixmap &pixmap); // 赋值运算符
void swap(QPixmap &other); // 交换函数
bool isNull() const; // 检查 QPixmap 是否为空
int width() const; // 返回宽度
int height() const; // 返回高度
QSize size() const; // 返回尺寸
QRect rect() const; // 返回矩形区域
void resize(int width, int height); // 调整大小
void resize(const QSize &size); // 调整大小
bool load(const QString &fileName, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor); // 从文件加载图像
bool loadFromData(const uchar *data, uint len, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor); // 从数据加载图像
bool loadFromData(const QByteArray &data, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor); // 从数据加载图像
bool save(const QString &fileName, const char *format = nullptr, int quality = -1) const; // 保存图像到文件
bool save(QIODevice *device, const char *format = nullptr, int quality = -1) const; // 保存图像到设备
QBitmap mask() const; // 返回掩码
void setMask(const QBitmap &mask); // 设置掩码
bool hasAlpha() const; // 检查是否有透明度
bool hasAlphaChannel() const; // 检查是否有透明通道
void fill(const QColor &color = Qt::white); // 填充颜色
QPixmap scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const; // 缩放图像
QPixmap scaled(const QSize &size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const; // 缩放图像
QPixmap scaledToWidth(int width, Qt::TransformationMode mode = Qt::FastTransformation) const; // 按宽度缩放图像
QPixmap scaledToHeight(int height, Qt::TransformationMode mode = Qt::FastTransformation) const; // 按高度缩放图像
QPixmap transformed(const QTransform &transform, Qt::TransformationMode mode = Qt::FastTransformation) const; // 变换图像
QPixmap copy(int x, int y, int width, int height) const; // 复制部分图像
QPixmap copy(const QRect &rect) const; // 复制部分图像
QImage toImage() const; // 转换为 QImage
static QPixmap fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor); // 从 QImage 创建 QPixmap
static QPixmap fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags = Qt::AutoColor); // 从 QImageReader 创建 QPixmap
int depth() const; // 返回图像深度
void setDevicePixelRatio(qreal scaleFactor); // 设置设备像素比
qreal devicePixelRatio() const; // 返回设备像素比
QPixmap detached() const; // 返回分离的 QPixmap
void scroll(int dx, int dy, int x, int y, int width, int height, QRegion *exposed = nullptr); // 滚动图像
void scroll(int dx, int dy, const QRect &rect, QRegion *exposed = nullptr); // 滚动图像

// 静态公共成员函数
static int defaultDepth(); // 返回默认图像深度
static QPixmap fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor); // 从 QImage 创建 QPixmap
static QPixmap grabWidget(QWidget *widget, const QRect &rectangle); // 抓取窗口部件的图像
static QPixmap grabWidget(QWidget *widget, int x = 0, int y = 0, int width = -1, int height = -1); // 抓取窗口部件的图像
static QPixmap grabWindow(WId window, int x = 0, int y = 0, int width = -1, int height = -1); // 抓取窗口的图像

// 枚举类型
enum ShareMode {
    ImplicitlyShared, // 隐式共享
    ExplicitlyShared // 显式共享
};

QImage:用于处理图像,支持直接像素访问。

// QImage 类是 Qt 框架中用于处理图像的重要类。以下是 QImage 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QImage(); // 默认构造函数,创建一个空的 QImage 对象
QImage(const QSize &size, QImage::Format format); // 指定尺寸和格式的构造函数
QImage(int width, int height, QImage::Format format); // 指定宽度和高度以及格式的构造函数
QImage(uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); // 从数据指针创建图像的构造函数
QImage(const uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); // 从数据指针创建图像的构造函数
QImage(uchar *data, int width, int height, int bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); // 从数据指针创建图像的构造函数
QImage(const uchar *data, int width, int height, int bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); // 从数据指针创建图像的构造函数
QImage(const char *const[] xpm); // 从 XPM 数据创建图像的构造函数
QImage(const QString &fileName, const char *format = nullptr); // 从文件加载图像的构造函数
QImage(const QImage &image); // 拷贝构造函数

// 析构函数
~QImage(); // 析构函数

// 公共成员函数
QImage &operator=(const QImage &image); // 赋值运算符
void swap(QImage &other); // 交换函数
bool isNull() const; // 检查 QImage 是否为空
int width() const; // 返回宽度
int height() const; // 返回高度
QSize size() const; // 返回尺寸
QRect rect() const; // 返回矩形区域
int depth() const; // 返回图像深度
int format() const; // 返回图像格式
void fill(uint pixelValue); // 填充颜色
void fill(const QColor &color); // 填充颜色
void fill(Qt::GlobalColor color); // 填充颜色
bool valid(int x, int y) const; // 检查坐标是否有效
int pixelIndex(int x, int y) const; // 返回像素索引
uint pixel(int x, int y) const; // 返回像素值
QRgb pixel(const QPoint &position) const; // 返回像素值
void setPixel(int x, int y, uint index_or_rgb); // 设置像素值
void setPixel(const QPoint &position, uint index_or_rgb); // 设置像素值
QColor pixelColor(int x, int y) const; // 返回像素颜色
QColor pixelColor(const QPoint &position) const; // 返回像素颜色
void setPixelColor(int x, int y, const QColor &color); // 设置像素颜色
void setPixelColor(const QPoint &position, const QColor &color); // 设置像素颜色
uchar *scanLine(int i); // 返回扫描线指针
const uchar *scanLine(int i) const; // 返回扫描线指针
uchar *bits(); // 返回位指针
const uchar *bits() const; // 返回位指针
int bytesPerLine() const; // 返回每行字节数
int byteCount() const; // 返回总字节数
int bitPlaneCount() const; // 返回位平面数
uchar **jumpTable(); // 返回跳转表
const uchar *const *jumpTable() const; // 返回跳转表
QImage scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const; // 缩放图像
QImage scaled(const QSize &size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const; // 缩放图像
QImage scaledToWidth(int width, Qt::TransformationMode mode = Qt::FastTransformation) const; // 按宽度缩放图像
QImage scaledToHeight(int height, Qt::TransformationMode mode = Qt::FastTransformation) const; // 按高度缩放图像
QImage transformed(const QTransform &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const; // 变换图像
bool load(const QString &fileName, const char *format = nullptr); // 从文件加载图像
bool loadFromData(const uchar *data, int len, const char *format = nullptr); // 从数据加载图像
bool loadFromData(const QByteArray &data, const char *format = nullptr); // 从数据加载图像
bool save(const QString &fileName, const char *format = nullptr, int quality = -1) const; // 保存图像到文件
bool save(QIODevice *device, const char *format = nullptr, int quality = -1) const; // 保存图像到设备
QImage copy(int x, int y, int width, int height) const; // 复制部分图像
QImage copy(const QRect &rect) const; // 复制部分图像
QImage mirrored(bool horizontal = false, bool vertical = true) const; // 镜像图像
QImage rgbSwapped() const; // 交换 RGB 值
bool invertPixels(QImage::InvertMode mode = QImage::InvertRgb); // 反转像素
QImage convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const; // 转换图像格式
QImage convertToFormat(QImage::Format format, const QVector<QRgb> &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const; // 转换图像格式
QVector<QRgb> colorTable() const; // 返回颜色表
void setColorTable(const QVector<QRgb> &colors); // 设置颜色表
int colorCount() const; // 返回颜色数
int bitCount() const; // 返回位数
bool allGray() const; // 检查是否所有像素都是灰度
bool isGrayscale() const; // 检查是否是灰度图像
QImage alphaChannel() const; // 返回 alpha 通道
QImage createAlphaMask(Qt::ImageConversionFlags flags = Qt::AutoColor) const; // 创建 alpha 掩码
QImage createHeuristicMask(bool clipTight = true) const; // 创建启发式掩码
QImage createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const; // 从颜色创建掩码
QPixmap toPixmap() const; // 转换为 QPixmap
static QImage fromData(const uchar *data, int size, const char *format = nullptr); // 从数据创建图像
static QImage fromData(const QByteArray &data, const char *format = nullptr); // 从数据创建图像
static QImage fromPixmap(const QPixmap &pixmap); // 从 QPixmap 创建图像
static QImage fromMono(const uchar *data, int width, int height, int bytesPerLine, QImage::Endian bitOrder = QImage::IgnoreEndian); // 从单色数据创建图像
static QImage fromMono(const uchar *data, int width, int height, int bytesPerLine, QImage::Endian bitOrder, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); // 从单色数据创建图像
static QImage fromMono(const uchar *data, int width, int height, QImage::Endian bitOrder = QImage::IgnoreEndian); // 从单色数据创建图像
static QImage fromMono(const uchar *data, int width, int height, QImage::Endian bitOrder, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); // 从单色数据创建图像
static QImage fromQImageReader(QImageReader *imageReader); // 从 QImageReader 创建图像
static QImage fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags = Qt::AutoColor); // 从 QImageReader 创建图像
static QImage fromData(QByteArray &&data, const char *format = nullptr); // 从数据创建图像

// 枚举类型
enum Format {
    Format_Invalid, // 无效格式
    Format_Mono, // 单色格式
    Format_MonoLSB, // 单色 LSB 格式
    Format_Indexed8, // 索引 8 位格式
    Format_RGB32, // RGB32 格式
    Format_ARGB32, // ARGB32 格式
    Format_ARGB32_Premultiplied, // 预乘 ARGB32 格式
    Format_RGB16, // RGB16 格式
    Format_ARGB8565_Premultiplied, // 预乘 ARGB8565 格式
    Format_RGB666, // RGB666 格式
    Format_ARGB6666_Premultiplied, // 预乘 ARGB6666 格式
    Format_RGB555, // RGB555 格式
    Format_ARGB8555_Premultiplied, // 预乘 ARGB8555 格式
    Format_RGB888, // RGB888 格式
    Format_RGB444, // RGB444 格式
    Format_ARGB4444_Premultiplied, // 预乘 ARGB4444 格式
    Format_RGBX8888, // RGBX8888 格式
    Format_RGBA8888, // RGBA8888 格式
    Format_RGBA8888_Premultiplied, // 预乘 RGBA8888 格式
    Format_BGR30, // BGR30 格式
    Format_A2BGR30_Premultiplied, // 预乘 A2BGR30 格式
    Format_RGB30, // RGB30 格式
    Format_A2RGB30_Premultiplied, // 预乘 A2RGB30 格式
    Format_Alpha8, // Alpha8 格式
    Format_Grayscale8 // 灰度 8 位格式
};

enum InvertMode {
    InvertRgb, // 反转 RGB 值
    InvertRgba // 反转 RGBA 值
};

enum Endian {
    IgnoreEndian, // 忽略字节序
    BigEndian, // 大端字节序
    LittleEndian // 小端字节序
};

QBitmap 是 QImage 的一个子类,用于表示位图。

QPicture 提供了在 Qt 绘图系统中绘制复杂图形的能力。

QTransform 二维变换矩阵 QTransform 类提供了丰富的功能来处理二维变换,包括平移、旋转、缩放和剪切等操作。

通过使用 QTransform,你可以灵活地对图形和界面元素进行各种变换操作。

class QTransform {
public:
    // 构造函数
    QTransform(); // 默认构造函数,创建一个单位矩阵
    QTransform(qreal m11, qreal m12, qreal m21, qreal m22, qreal dx, qreal dy); // 指定矩阵元素的构造函数
    QTransform(qreal m11, qreal m12, qreal m13, qreal m21, qreal m22, qreal m23, qreal m31, qreal m32, qreal m33 = 1.0); // 指定完整矩阵元素的构造函数
    QTransform(const QMatrix &matrix); // 从 QMatrix 构造 QTransform

    // 公共成员函数
    qreal m11() const; // 返回矩阵元素 m11
    qreal m12() const; // 返回矩阵元素 m12
    qreal m13() const; // 返回矩阵元素 m13
    qreal m21() const; // 返回矩阵元素 m21
    qreal m22() const; // 返回矩阵元素 m22
    qreal m23() const; // 返回矩阵元素 m23
    qreal m31() const; // 返回矩阵元素 m31
    qreal m32() const; // 返回矩阵元素 m32
    qreal m33() const; // 返回矩阵元素 m33
    QTransform &operator=(const QTransform &other); // 赋值运算符
    QTransform &operator=(QTransform &&other) noexcept; // 移动赋值运算符
    void swap(QTransform &other) noexcept; // 交换函数
    bool operator==(const QTransform &other) const; // 相等运算符
    bool operator!=(const QTransform &other) const; // 不等运算符
    QTransform operator*(const QTransform &matrix) const; // 矩阵乘法运算符
    QTransform &operator*=(const QTransform &matrix); // 矩阵乘法赋值运算符
    QTransform &translate(qreal dx, qreal dy); // 平移变换
    QTransform &scale(qreal sx, qreal sy); // 缩放变换
    QTransform &shear(qreal sh, qreal sv); // 剪切变换
    QTransform &rotate(qreal angle, Qt::Axis axis = Qt::ZAxis); // 旋转变换
    QTransform &rotateRadians(qreal angle, Qt::Axis axis = Qt::ZAxis); // 以弧度为单位的旋转变换
    bool isIdentity() const; // 检查矩阵是否为单位矩阵
    bool isInvertible() const; // 检查矩阵是否可逆
    qreal determinant() const; // 返回矩阵的行列式
    QTransform inverted(bool *invertible = nullptr) const; // 返回逆矩阵
    QTransform adjoint() const; // 返回伴随矩阵
    QTransform transposed() const; // 返回转置矩阵
    QPoint map(const QPoint &point) const; // 映射点
    QPointF map(const QPointF &point) const; // 映射点(浮点精度)
    QLine map(const QLine &line) const; // 映射线
    QLineF map(const QLineF &line) const; // 映射线(浮点精度)
    QPolygon map(const QPolygon &polygon) const; // 映射多边形
    QPolygonF map(const QPolygonF &polygon) const; // 映射多边形(浮点精度)
    QRegion map(const QRegion &region) const; // 映射区域
    QPainterPath map(const QPainterPath &path) const; // 映射路径
    void map(int x, int y, int *tx, int *ty) const; // 映射点(整数精度)
    QRect mapRect(const QRect &rectangle) const; // 映射矩形
    QRectF mapRect(const QRectF &rectangle) const; // 映射矩形(浮点精度)
    QPolygon mapToPolygon(const QRect &rectangle) const; // 映射矩形到多边形
    void reset(); // 重置矩阵为单位矩阵
    bool isAffine() const; // 检查矩阵是否为仿射变换
    bool isScaling() const; // 检查矩阵是否包含缩放变换
    bool isRotating() const; // 检查矩阵是否包含旋转变换
    bool isTranslating() const; // 检查矩阵是否包含平移变换
    QTransform::TransformationType type() const; // 返回变换类型

    // 枚举类型
    enum TransformationType {
        TxNone = 0x00, // 无变换
        TxTranslate = 0x01, // 平移变换
        TxScale = 0x02, // 缩放变换
        TxRotate = 0x04, // 旋转变换
        TxShear = 0x08, // 剪切变换
        TxProject = 0x10 // 投影变换
    };
};

图形视图框架

QGraphicsItem:图形视图框架中的基本图形项。

QGraphicsScene:用于管理大量的图形项。

QGraphicsView:用于显示图形场景。

模型/视图框架

QAbstractItemModel:模型/视图框架中的抽象模型类。

QStandardItemModel:标准项模型,用于简单的模型/视图编程。

QTableView:用于显示表格数据的视图。

QTreeView:用于显示树形数据的视图。

网络

QUrl:用于处理 URL。

// QUrl 类是 Qt 框架中用于处理 URL 的重要类。以下是 QUrl 类的所有成员函数和枚举类型的详细列表:

// 构造函数
QUrl(); // 默认构造函数,创建一个空的 QUrl 对象
QUrl(const QString &url); // 从字符串创建 QUrl 对象
QUrl(const QString &url, QUrl::ParsingMode mode); // 从字符串和解析模式创建 QUrl 对象
QUrl(const QUrl &other); // 拷贝构造函数
QUrl(QUrl &&other) noexcept; // 移动构造函数

// 析构函数
~QUrl(); // 析构函数

// 公共成员函数
QUrl &operator=(const QUrl &url); // 赋值运算符
QUrl &operator=(QUrl &&url) noexcept; // 移动赋值运算符
void swap(QUrl &other) noexcept; // 交换函数
bool isNull() const; // 检查 QUrl 是否为空
bool isValid() const; // 检查 QUrl 是否有效
bool isEmpty() const; // 检查 QUrl 是否为空字符串
void clear(); // 清空 QUrl
void setUrl(const QString &url, QUrl::ParsingMode mode = TolerantMode); // 设置 URL
QString url(QUrl::FormattingOptions options = FormattingOptions(PrettyDecoded)) const; // 返回 URL 字符串
QString toString(QUrl::FormattingOptions options = FormattingOptions(PrettyDecoded)) const; // 返回 URL 字符串
QString toDisplayString(QUrl::FormattingOptions options = FormattingOptions(PrettyDecoded)) const; // 返回用于显示的 URL 字符串
QString toEncoded(QUrl::FormattingOptions options = FullyEncoded) const; // 返回编码后的 URL 字符串
QUrl adjusted(QUrl::FormattingOptions options) const; // 返回调整后的 URL
void setScheme(const QString &scheme); // 设置方案
QString scheme() const; // 返回方案
void setAuthority(const QString &authority, QUrl::ParsingMode mode = TolerantMode); // 设置权限
QString authority(QUrl::FormattingOptions options = PrettyDecoded) const; // 返回权限
void setUserInfo(const QString &userInfo, QUrl::ParsingMode mode = TolerantMode); // 设置用户信息
QString userInfo(QUrl::FormattingOptions options = PrettyDecoded) const; // 返回用户信息
void setUserName(const QString &userName, QUrl::ParsingMode mode = TolerantMode); // 设置用户名
QString userName(QUrl::FormattingOptions options = PrettyDecoded) const; // 返回用户名
void setPassword(const QString &password, QUrl::ParsingMode mode = TolerantMode); // 设置密码
QString password(QUrl::FormattingOptions options = PrettyDecoded) const; // 返回密码
void setHost(const QString &host, QUrl::ParsingMode mode = TolerantMode); // 设置主机
QString host(QUrl::FormattingOptions options = FullyDecoded) const; // 返回主机
void setPort(int port); // 设置端口
int port(int defaultPort = -1) const; // 返回端口
void setPath(const QString &path, QUrl::ParsingMode mode = TolerantMode); // 设置路径
QString path(QUrl::FormattingOptions options = FullyDecoded) const; // 返回路径
bool hasQuery() const; // 检查是否有查询
void setQuery(const QString &query, QUrl::ParsingMode mode = TolerantMode); // 设置查询
void setQuery(const QUrlQuery &query); // 设置查询
QString query(QUrl::FormattingOptions options = PrettyDecoded) const; // 返回查询
QUrlQuery queryItems() const; // 返回查询项
void setFragment(const QString &fragment, QUrl::ParsingMode mode = TolerantMode); // 设置片段
QString fragment(QUrl::FormattingOptions options = PrettyDecoded) const; // 返回片段
bool hasFragment() const; // 检查是否有片段
bool isRelative() const; // 检查是否是相对 URL
bool isLocalFile() const; // 检查是否是本地文件
QString toLocalFile() const; // 返回本地文件路径
void setPath(const QString &path); // 设置路径
void setQuery(const QString &query); // 设置查询
void setFragment(const QString &fragment); // 设置片段
QUrl fromLocalFile(const QString &localFile); // 从本地文件路径创建 QUrl
QString fromPercentEncoding(const QByteArray &input); // 从百分比编码解码
QByteArray toPercentEncoding(const QString &input, const QByteArray &exclude = QByteArray(), const QByteArray &include = QByteArray()); // 进行百分比编码
void addQueryItem(const QString &key, const QString &value); // 添加查询项
QList<QPair<QString, QString>> queryItems(); // 返回查询项
bool hasQueryItem(const QString &key) const; // 检查是否有查询项
QString queryItemValue(const QString &key) const; // 返回查询项值
QStringList allQueryItemValues(const QString &key) const; // 返回所有查询项值
void removeQueryItem(const QString &key); // 移除查询项
void removeAllQueryItems(const QString &key); // 移除所有查询项
void detach(); // 分离
bool isDetached() const; // 检查是否分离

// 静态公共成员函数
static QUrl fromUserInput(const QString &userInput); // 从用户输入创建 QUrl
static QUrl fromEncoded(const QByteArray &input, QUrl::ParsingMode mode = TolerantMode); // 从编码字符串创建 QUrl
static QByteArray toEncoded(const QUrl &url, QUrl::FormattingOptions options = FullyEncoded); // 返回编码后的 URL 字符串
static QString fromAce(const QByteArray &domain); // 从 ACE 编码解码域名
static QByteArray toAce(const QString &domain); // 对域名进行 ACE 编码
static QStringList idnWhitelist(); // 返回 IDN 白名单
static void setIdnWhitelist(const QStringList &list); // 设置 IDN 白名单

// 枚举类型
enum ParsingMode {
    TolerantMode, // 宽容模式
    StrictMode, // 严格模式
    DecodedMode // 解码模式
};

enum FormattingOption {
    None = 0x0, // 无选项
    RemoveScheme = 0x1, // 移除方案
    RemovePassword = 0x2, // 移除密码
    RemoveUserInfo = RemovePassword | 0x4, // 移除用户信息
    RemovePort = 0x8, // 移除端口
    RemoveAuthority = RemoveUserInfo | RemovePort | 0x10, // 移除权限
    RemovePath = 0x20, // 移除路径
    RemoveQuery = 0x40, // 移除查询
    RemoveFragment = 0x80, // 移除片段
    PreferLocalFile = 0x200, // 优先本地文件
    StripTrailingSlash = 0x400, // 去除末尾斜杠
    NormalizePathSegments = 0x800, // 规范化路径段
    PrettyDecoded = 0x1000, // 美化解码
    EncodeSpaces = 0x2000, // 编码空格
    EncodeUnicode = 0x4000, // 编码 Unicode
    EncodeDelimiters = 0x8000 | 0x10000, // 编码分隔符
    EncodeReserved = 0x20000, // 编码保留字符
    DecodeReserved = 0x40000, // 解码保留字符
    FullyEncoded = EncodeSpaces | EncodeUnicode | EncodeDelimiters | EncodeReserved, // 完全编码
    FullyDecoded = PrettyDecoded | DecodeReserved // 完全解码
};

Q_DECLARE_FLAGS(FormattingOptions, FormattingOption)
Q_DECLARE_OPERATORS_FOR_FLAGS(QUrl::FormattingOptions)

QTcpSocket:用于 TCP 通信。

// QTcpSocket 类是 Qt 框架中用于 TCP 套接字通信的重要类。以下是 QTcpSocket 类的所有成员函数和枚举类型的详细列表:

// 继承自 QAbstractSocket
class QTcpSocket : public QAbstractSocket {
    Q_OBJECT

public:
    // 构造函数
    QTcpSocket(QObject *parent = nullptr); // 默认构造函数

    // 析构函数
    ~QTcpSocket(); // 析构函数

    // 公共成员函数
    void connectToHost(const QString &hostName, quint16 port, OpenMode openMode = ReadWrite, NetworkLayerProtocol protocol = AnyIPProtocol); // 连接到主机
    void connectToHost(const QHostAddress &address, quint16 port, OpenMode openMode = ReadWrite); // 连接到主机
    void disconnectFromHost(); // 断开连接
    bool setSocketDescriptor(qintptr socketDescriptor, SocketState state = ConnectedState, OpenMode openMode = ReadWrite); // 设置套接字描述符
    qintptr socketDescriptor() const; // 返回套接字描述符
    bool waitForConnected(int msecs = 30000); // 等待连接
    bool waitForDisconnected(int msecs = 30000); // 等待断开连接
    bool waitForReadyRead(int msecs = 30000); // 等待数据可读
    bool waitForBytesWritten(int msecs = 30000); // 等待数据写入
    qint64 readData(char *data, qint64 maxlen); // 读取数据
    qint64 writeData(const char *data, qint64 len); // 写入数据
    qint64 bytesAvailable() const; // 返回可读字节数
    qint64 bytesToWrite() const; // 返回待写字节数
    bool canReadLine() const; // 检查是否可以读取一行数据
    void close(); // 关闭套接字
    SocketType socketType() const; // 返回套接字类型
    SocketState state() const; // 返回套接字状态
    SocketError error() const; // 返回套接字错误
    QString errorString() const; // 返回错误描述
    void setLocalAddress(const QHostAddress &address); // 设置本地地址
    QHostAddress localAddress() const; // 返回本地地址
    void setLocalPort(quint16 port); // 设置本地端口
    quint16 localPort() const; // 返回本地端口
    void setPeerAddress(const QHostAddress &address); // 设置对端地址
    QHostAddress peerAddress() const; // 返回对端地址
    void setPeerPort(quint16 port); // 设置对端端口
    quint16 peerPort() const; // 返回对端端口
    void setPeerName(const QString &name); // 设置对端名称
    QString peerName() const; // 返回对端名称
    void setReadBufferSize(qint64 size); // 设置读取缓冲区大小
    qint64 readBufferSize() const; // 返回读取缓冲区大小
    void setSocketOption(QAbstractSocket::SocketOption option, const QVariant &value); // 设置套接字选项
    QVariant socketOption(QAbstractSocket::SocketOption option); // 返回套接字选项
    bool isSequential() const; // 检查是否是顺序访问
    bool atEnd() const; // 检查是否在流的末尾
    qint64 pos() const; // 返回当前位置
    qint64 size() const; // 返回大小
    bool seek(qint64 pos); // 定位到指定位置
    bool reset(); // 重置
    bool flush(); // 刷新
    bool waitForReadyRead(int msecs); // 等待数据可读
    bool waitForBytesWritten(int msecs); // 等待数据写入
    bool open(OpenMode mode); // 打开套接字
    bool isOpen() const; // 检查套接字是否打开
    bool isReadable() const; // 检查套接字是否可读
    bool isWritable() const; // 检查套接字是否可写
    OpenMode openMode() const; // 返回打开模式
    QString fileName() const; // 返回文件名
    bool setSocketDescriptor(qintptr socketDescriptor, SocketState state = ConnectedState, OpenMode openMode = ReadWrite); // 设置套接字描述符
    qintptr socketDescriptor() const; // 返回套接字描述符
    bool isValid() const; // 检查套接字是否有效
    qint64 bytesAvailable() const; // 返回可读字节数
    qint64 bytesToWrite() const; // 返回待写字节数
    bool canReadLine() const; // 检查是否可以读取一行数据
    void close(); // 关闭套接字
    void abort(); // 中止套接字
    SocketType socketType() const; // 返回套接字类型
    SocketState state() const; // 返回套接字状态
    SocketError error() const; // 返回套接字错误
    QString errorString() const; // 返回错误描述
    void setLocalAddress(const QHostAddress &address); // 设置本地地址
    QHostAddress localAddress() const; // 返回本地地址
    void setLocalPort(quint16 port); // 设置本地端口
    quint16 localPort() const; // 返回本地端口
    void setPeerAddress(const QHostAddress &address); // 设置对端地址
    QHostAddress peerAddress() const; // 返回对端地址
    void setPeerPort(quint16 port); // 设置对端端口
    quint16 peerPort() const; // 返回对端端口
    void setPeerName(const QString &name); // 设置对端名称
    QString peerName() const; // 返回对端名称
    void setReadBufferSize(qint64 size); // 设置读取缓冲区大小
    qint64 readBufferSize() const; // 返回读取缓冲区大小
    void setSocketOption(QAbstractSocket::SocketOption option, const QVariant &value); // 设置套接字选项
    QVariant socketOption(QAbstractSocket::SocketOption option); // 返回套接字选项
    bool isSequential() const; // 检查是否是顺序访问
    bool atEnd() const; // 检查是否在流的末尾
    qint64 pos() const; // 返回当前位置
    qint64 size() const; // 返回大小
    bool seek(qint64 pos); // 定位到指定位置
    bool reset(); // 重置
    bool flush(); // 刷新

    // 信号
signals:
    void connected(); // 连接成功信号
    void disconnected(); // 断开连接信号
    void errorOccurred(QAbstractSocket::SocketError socketError); // 错误发生信号
    void stateChanged(QAbstractSocket::SocketState socketState); // 状态改变信号
    void readyRead(); // 数据可读信号
    void bytesWritten(qint64 bytes); // 数据写入信号
    void aboutToClose(); // 即将关闭信号
    void readChannelFinished(); // 读取通道完成信号

    // 枚举类型
    enum SocketType {
        TcpSocket // TCP 套接字
    };

    enum SocketState {
        UnconnectedState, // 未连接状态
        HostLookupState, // 主机查找状态
        ConnectingState, // 连接中状态
        ConnectedState, // 已连接状态
        BoundState, // 绑定状态
        ListeningState, // 监听状态
        ClosingState // 关闭中状态
    };

    enum SocketError {
        ConnectionRefusedError, // 连接被拒绝错误
        RemoteHostClosedError, // 远程主机关闭错误
        HostNotFoundError, // 主机未找到错误
        SocketAccessError, // 套接字访问错误
        SocketResourceError, // 套接字资源错误
        SocketTimeoutError, // 套接字超时错误
        DatagramTooLargeError, // 数据报太大错误
        NetworkError, // 网络错误
        AddressInUseError, // 地址已被使用错误
        SocketAddressNotAvailableError, // 套接字地址不可用错误
        UnsupportedSocketOperationError, // 不支持的套接字操作错误
        UnfinishedSocketOperationError, // 未完成的套接字操作错误
        ProxyAuthenticationRequiredError, // 需要代理认证错误
        SslHandshakeFailedError, // SSL 握手失败错误
        ProxyConnectionRefusedError, // 代理连接被拒绝错误
        ProxyConnectionClosedError, // 代理连接关闭错误
        ProxyConnectionTimeoutError, // 代理连接超时错误
        ProxyNotFoundError, // 代理未找到错误
        ProxyProtocolError, // 代理协议错误
        OperationError, // 操作错误
        SslInternalError, // SSL 内部错误
        SslInvalidUserDataError, // SSL 无效用户数据错误
        TemporaryError, // 临时错误
        UnknownSocketError // 未知套接字错误
    };

    enum NetworkLayerProtocol {
        IPv4Protocol, // IPv4 协议
        IPv6Protocol, // IPv6 协议
        AnyIPProtocol, // 任意 IP 协议
        UnknownNetworkLayerProtocol // 未知网络层协议
    };

    enum SocketOption {
        LowDelayOption, // 低延迟选项
        KeepAliveOption, // 保持活动选项
        MulticastTtlOption, // 多播 TTL 选项
        MulticastLoopbackOption, // 多播环回选项
        TypeOfServiceOption, // 服务类型选项
        ReceiveBufferSizeSocketOption, // 接收缓冲区大小选项
        SendBufferSizeSocketOption // 发送缓冲区大小选项
    };

    enum OpenModeFlag {
        NotOpen = 0x0000, // 不打开
        ReadOnly = 0x0001, // 只读
        WriteOnly = 0x0002, // 只写
        ReadWrite = ReadOnly | WriteOnly, // 读写
        Append = 0x0004, // 追加
        Truncate = 0x0008, // 截断
        Text = 0x0010, // 文本
        Unbuffered = 0x0020 // 无缓冲
    };

    Q_DECLARE_FLAGS(OpenMode, OpenModeFlag)
    Q_DECLARE_OPERATORS_FOR_FLAGS(QTcpSocket::OpenMode)
};

QUdpSocket:用于 UDP 通信。

// QUdpSocket 类是 Qt 框架中用于 UDP 套接字通信的重要类。以下是 QUdpSocket 类的所有成员函数和枚举类型的详细列表:

// 继承自 QAbstractSocket
class QUdpSocket : public QAbstractSocket {
    Q_OBJECT

public:
    // 构造函数
    QUdpSocket(QObject *parent = nullptr); // 默认构造函数

    // 析构函数
    ~QUdpSocket(); // 析构函数

    // 公共成员函数
    bool bind(const QHostAddress &address, quint16 port, QAbstractSocket::BindMode mode = DefaultForPlatform); // 绑定到地址和端口
    bool bind(quint16 port = 0, QAbstractSocket::BindMode mode = DefaultForPlatform); // 绑定到端口
    void close(); // 关闭套接字
    qint64 readDatagram(char *data, qint64 maxSize, QHostAddress *address = nullptr, quint16 *port = nullptr); // 读取数据报
    qint64 writeDatagram(const char *data, qint64 size, const QHostAddress &address, quint16 port); // 写入数据报
    qint64 writeDatagram(const QByteArray &datagram, const QHostAddress &host, quint16 port); // 写入数据报
    bool hasPendingDatagrams() const; // 检查是否有待处理的数据报
    qint64 pendingDatagramSize() const; // 返回待处理数据报的大小
    bool joinMulticastGroup(const QHostAddress &groupAddress); // 加入多播组
    bool leaveMulticastGroup(const QHostAddress &groupAddress); // 离开多播组
    QHostAddress multicastGroup() const; // 返回多播组地址
    void setMulticastInterface(const QNetworkInterface &iface); // 设置多播接口
    QNetworkInterface multicastInterface() const; // 返回多播接口

    // 信号
signals:
    void readyRead(); // 数据可读信号

    // 枚举类型
    enum BindFlag {
        DefaultForPlatform = 0x0, // 默认平台行为
        ShareAddress = 0x1, // 共享地址
        DontShareAddress = 0x2, // 不共享地址
        ReuseAddressHint = 0x4, // 重用地址提示
        DefaultForPlatformBindMode = DefaultForPlatform // 默认平台绑定模式
    };

    Q_DECLARE_FLAGS(BindMode, BindFlag)
    Q_DECLARE_OPERATORS_FOR_FLAGS(QUdpSocket::BindMode)
};

XML(空)

QDomDocument:用于处理 XML 文档。

QXmlStreamReader:用于快速解析 XML。

QXmlStreamWriter:用于快速生成 XML。

数据库

QSqlDatabase:用于连接数据库。

// QSqlDatabase 类是 Qt 框架中用于管理数据库连接的类。它提供了一组函数来创建、配置和关闭数据库连接。以下是 QSqlDatabase 类的所有成员函数和静态函数的详细列表:

// 构造函数和析构函数
QSqlDatabase(); // 默认构造函数
QSqlDatabase(const QSqlDatabase &other); // 拷贝构造函数
~QSqlDatabase(); // 析构函数

// 公共函数
bool isValid() const; // 检查数据库连接是否有效
QString driverName() const; // 获取数据库驱动名称
QSqlDriver *driver() const; // 获取数据库驱动对象
QString databaseName() const; // 获取数据库名称
void setDatabaseName(const QString &name); // 设置数据库名称
QString hostName() const; // 获取主机名
void setHostName(const QString &host); // 设置主机名
int port() const; // 获取端口号
void setPort(int port); // 设置端口号
QString userName() const; // 获取用户名
void setUserName(const QString &name); // 设置用户名
QString password() const; // 获取密码
void setPassword(const QString &password); // 设置密码
QString connectOptions() const; // 获取连接选项
void setConnectOptions(const QString &options = QString()); // 设置连接选项
bool open(); // 打开数据库连接
bool open(const QString &user, const QString &password); // 使用指定用户和密码打开数据库连接
void close(); // 关闭数据库连接
bool isOpen() const; // 检查数据库是否已打开
bool isOpenError() const; // 检查打开数据库时是否有错误
QSqlError lastError() const; // 获取最后发生的错误
QStringList tables(QSql::TableType type = QSql::Tables) const; // 获取数据库中的表列表
QSqlIndex primaryIndex(const QString &tablename) const; // 获取表的主键索引
QSqlRecord record(const QString &tablename) const; // 获取表的记录
QSqlDatabase &operator=(const QSqlDatabase &other); // 赋值运算符
void setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy precisionPolicy); // 设置数值精度策略
QSql::NumericalPrecisionPolicy numericalPrecisionPolicy() const; // 获取数值精度策略

// 静态函数
static QSqlDatabase addDatabase(const QString &type, const QString &connectionName = QLatin1String(defaultConnection)); // 添加数据库连接
static QSqlDatabase database(const QString &connectionName = QLatin1String(defaultConnection), bool open = true); // 获取数据库连接
static QStringList connectionNames(); // 获取所有连接名称
static bool contains(const QString &connectionName = QLatin1String(defaultConnection)); // 检查是否包含指定连接名称
static void removeDatabase(const QString &connectionName); // 移除数据库连接
static QStringList drivers(); // 获取所有可用的数据库驱动
static void registerSqlDriver(const QString &name, QSqlDriverCreatorBase *creator); // 注册自定义数据库驱动
static void removeDatabase(const QString &connectionName); // 移除数据库连接(重载)

QSqlQuery:用于执行 SQL 查询。

// QSqlQuery 类是 Qt 框架中用于执行 SQL 语句和处理查询结果的类。它提供了一组函数来执行 SQL 语句、遍历结果集以及获取查询结果。以下是 QSqlQuery 类的所有成员函数和枚举类型的详细列表:

// 构造函数和析构函数
QSqlQuery(const QString &query = QString(), QSqlDatabase db = QSqlDatabase()); // 使用 SQL 查询和数据库连接构造查询对象
QSqlQuery(QSqlDatabase db); // 使用数据库连接构造查询对象
QSqlQuery(const QSqlQuery &other); // 拷贝构造函数
~QSqlQuery(); // 析构函数

// 公共函数
QSqlQuery &operator=(const QSqlQuery &other); // 赋值运算符
bool isValid() const; // 检查当前记录是否有效
bool isActive() const; // 检查查询是否处于活动状态
bool isSelect() const; // 检查查询是否为 SELECT 语句
bool isForwardOnly() const; // 检查查询是否为仅向前模式
void setForwardOnly(bool forward); // 设置查询为仅向前模式
bool exec(const QString &query); // 执行 SQL 语句
bool exec(); // 执行预准备的 SQL 语句
bool execBatch(QSqlQuery::BatchExecutionMode mode = ValuesAsRows); // 执行批处理 SQL 语句
bool prepare(const QString &query); // 准备 SQL 语句
void bindValue(const QString &placeholder, const QVariant &val, QSql::ParamType paramType = QSql::In); // 绑定值到占位符
void bindValue(int pos, const QVariant &val, QSql::ParamType paramType = QSql::In); // 绑定值到位置
void addBindValue(const QVariant &val, QSql::ParamType paramType = QSql::In); // 添加绑定值
QVariant boundValue(const QString &placeholder) const; // 获取绑定到占位符的值
QVariant boundValue(int pos) const; // 获取绑定到位置的值
QMap<QString, QVariant> boundValues() const; // 获取所有绑定的值
QString executedQuery() const; // 获取最后执行的查询
QSqlError lastError() const; // 获取最后发生的错误
bool isNull(const QString &name) const; // 检查字段是否为 NULL
bool isNull(int field) const; // 检查字段是否为 NULL
QVariant value(const QString &name) const; // 获取字段值
QVariant value(int index) const; // 获取字段值
bool next(); // 移动到下一条记录
bool previous(); // 移动到上一条记录
bool first(); // 移动到第一条记录
bool last(); // 移动到最后一条记录
bool seek(int index, bool relative = false); // 移动到指定记录
int at() const; // 获取当前记录的位置
QString lastQuery() const; // 获取最后执行的查询
int numRowsAffected() const; // 获取受影响的行数
int size() const; // 获取结果集的大小
QSqlRecord record() const; // 获取当前记录
void clear(); // 清除查询
const QSqlDriver *driver() const; // 获取数据库驱动
const QSqlResult *result() const; // 获取 SQL 结果

// 枚举类型
enum BatchExecutionMode {
    ValuesAsRows, // 将值作为行处理
    ValuesAsColumns // 将值作为列处理
};

QSqlTableModel:用于处理数据库表的模型。

// QSqlTableModel 类是 Qt 框架中用于提供数据库表的模型视图支持的类。它继承自 QSqlQueryModel 并提供了对单个数据库表的编辑功能。以下是 QSqlTableModel 类的所有成员函数和信号的详细列表:

// 构造函数和析构函数
QSqlTableModel(QObject *parent = nullptr, QSqlDatabase db = QSqlDatabase()); // 使用父对象和数据库连接构造模型对象
~QSqlTableModel(); // 析构函数

// 公共函数
void setTable(const QString &tableName); // 设置数据库表
QString tableName() const; // 获取数据库表名称
void setFilter(const QString &filter); // 设置过滤条件
QString filter() const; // 获取过滤条件
void setSort(int column, Qt::SortOrder order); // 设置排序条件
void setEditStrategy(QSqlTableModel::EditStrategy strategy); // 设置编辑策略
QSqlTableModel::EditStrategy editStrategy() const; // 获取编辑策略
bool select(); // 执行选择操作
int rowCount(const QModelIndex &parent = QModelIndex()) const; // 获取行数
int columnCount(const QModelIndex &parent = QModelIndex()) const; // 获取列数
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; // 获取数据
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); // 设置数据
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; // 获取表头数据
bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole); // 设置表头数据
QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; // 获取模型索引
QModelIndex parent(const QModelIndex &index) const; // 获取父模型索引
Qt::ItemFlags flags(const QModelIndex &index) const; // 获取项标志
bool insertRow(int row, const QModelIndex &parent = QModelIndex()); // 插入行
bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()); // 插入多行
bool removeRow(int row, const QModelIndex &parent = QModelIndex()); // 移除行
bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); // 移除多行
bool submit(); // 提交更改
void revert(); // 回滚更改
QSqlRecord record(int row) const; // 获取记录
QSqlRecord record() const; // 获取空记录
bool insertRecord(int row, const QSqlRecord &record); // 插入记录
bool setRecord(int row, const QSqlRecord &record); // 设置记录
bool updateRowInTable(int row, const QSqlRecord &record); // 更新表中的行
bool insertRowIntoTable(const QSqlRecord &record); // 插入行到表中
bool deleteRowFromTable(int row); // 从表中删除行
QSqlDatabase database() const; // 获取数据库连接
void clear(); // 清除模型

// 信号
void primeInsert(int row, QSqlRecord &record); // 插入前信号
void beforeInsert(QSqlRecord &record); // 插入前信号
void beforeUpdate(int row, QSqlRecord &record); // 更新前信号
void beforeDelete(int row); // 删除前信号

// 枚举类型
enum EditStrategy {
    OnFieldChange, // 字段更改时提交
    OnRowChange, // 行更改时提交
    OnManualSubmit // 手动提交
};

多媒体(空)

QMediaPlayer:用于播放音频和视频。

QMediaPlaylist:用于管理多媒体播放列表。

WEB(空)

WebEngineView:用于显示 Web 内容(基于 Chromium)。

QWebChannel:用于与 Web 页面进行通信。

国际化和本地化(空)

QLocale:用于处理本地化设置,如日期格式、数字格式等。

QTranslator:用于应用程序的国际化翻译。

其他实用工具

QSettings:用于持久化应用程序设置。

QFileSystemWatcher:用于监控文件和目录的变化。

QProcess:用于启动外部进程并与它们进行通信。

QTimer:用于定时器操作。

QEvent:用于事件处理。

QThread:用于多线程编程。

基础控件:

QWidget:所有用户界面元素的基类。

QPushButton:按钮控件。

// QPushButton 类是 Qt 框架中用于创建按钮的类。它继承自 QAbstractButton,并提供了创建和操作按钮的功能。以下是 QPushButton 类的所有成员函数和信号的详细列表:

// 构造函数和析构函数
QPushButton(QWidget *parent = nullptr); // 使用父对象构造按钮
QPushButton(const QString &text, QWidget *parent = nullptr); // 使用文本和父对象构造按钮
QPushButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr); // 使用图标、文本和父对象构造按钮
~QPushButton(); // 析构函数

// 公共函数
void setCheckable(bool checkable); // 设置按钮是否可选中
bool isCheckable() const; // 检查按钮是否可选中
bool isChecked() const; // 检查按钮是否被选中
void setAutoRepeat(bool autoRepeat); // 设置按钮是否自动重复
bool autoRepeat() const; // 检查按钮是否自动重复
void setAutoRepeatDelay(int delay); // 设置自动重复延迟
int autoRepeatDelay() const; // 获取自动重复延迟
void setAutoRepeatInterval(int interval); // 设置自动重复间隔
int autoRepeatInterval() const; // 获取自动重复间隔
void setDefault(bool defaultButton); // 设置按钮是否为默认按钮
bool isDefault() const; // 检查按钮是否为默认按钮
void setFlat(bool flat); // 设置按钮是否为平面样式
bool isFlat() const; // 检查按钮是否为平面样式
void setMenu(QMenu *menu); // 设置按钮的菜单
QMenu *menu() const; // 获取按钮的菜单
void showMenu(); // 显示按钮的菜单

// 重载的公共函数
QSize sizeHint() const; // 获取推荐大小
QSize minimumSizeHint() const; // 获取最小推荐大小

// 保护函数
void paintEvent(QPaintEvent *event); // 绘制事件
bool event(QEvent *e); // 事件处理

// 信号
void pressed(); // 按钮按下信号
void released(); // 按钮释放信号
void clicked(bool checked = false); // 按钮点击信号
void toggled(bool checked); // 按钮切换信号

QLabel:标签控件,用于显示文本或图像。

// QLabel 类是 Qt 框架中用于显示文本或图像的类。它继承自 QFrame,并提供了创建和操作标签的功能。以下是 QLabel 类的所有成员函数和信号的详细列表:

// 构造函数和析构函数
QLabel(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); // 使用父对象和窗口标志构造标签
QLabel(const QString &text, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); // 使用文本、父对象和窗口标志构造标签
~QLabel(); // 析构函数

// 公共函数
void setText(const QString &text); // 设置标签文本
QString text() const; // 获取标签文本
void setAlignment(Qt::Alignment alignment); // 设置文本对齐方式
Qt::Alignment alignment() const; // 获取文本对齐方式
void setIndent(int indent); // 设置文本缩进
int indent() const; // 获取文本缩进
void setMargin(int margin); // 设置边距
int margin() const; // 获取边距
void setPixmap(const QPixmap &pixmap); // 设置标签图像
QPixmap pixmap() const; // 获取标签图像
void setPicture(const QPicture &picture); // 设置标签图片
QPicture picture() const; // 获取标签图片
void setMovie(QMovie *movie); // 设置标签动画
QMovie *movie() const; // 获取标签动画
void setNum(int num); // 设置标签数字
void setNum(double num); // 设置标签数字
void setScaledContents(bool scaled); // 设置内容是否缩放
bool hasScaledContents() const; // 检查内容是否缩放
void setOpenExternalLinks(bool open); // 设置是否打开外部链接
bool openExternalLinks() const; // 检查是否打开外部链接
void setTextFormat(Qt::TextFormat format); // 设置文本格式
Qt::TextFormat textFormat() const; // 获取文本格式
void setTextInteractionFlags(Qt::TextInteractionFlags flags); // 设置文本交互标志
Qt::TextInteractionFlags textInteractionFlags() const; // 获取文本交互标志
void setWordWrap(bool on); // 设置是否自动换行
bool wordWrap() const; // 检查是否自动换行
QSize sizeHint() const; // 获取推荐大小
QSize minimumSizeHint() const; // 获取最小推荐大小

// 保护函数
void changeEvent(QEvent *ev); // 更改事件
void mousePressEvent(QMouseEvent *ev); // 鼠标按下事件
void mouseReleaseEvent(QMouseEvent *ev); // 鼠标释放事件
void paintEvent(QPaintEvent *ev); // 绘制事件
void focusInEvent(QFocusEvent *ev); // 获取焦点事件
void focusOutEvent(QFocusEvent *ev); // 失去焦点事件
void keyPressEvent(QKeyEvent *ev); // 按键按下事件
void keyReleaseEvent(QKeyEvent *ev); // 按键释放事件
void contextMenuEvent(QContextMenuEvent *ev); // 上下文菜单事件
void wheelEvent(QWheelEvent *ev); // 滚轮事件

// 信号
void linkActivated(const QString &link); // 链接激活信号
void linkHovered(const QString &link); // 链接悬停信号

QLineEdit:单行文本输入框。

// QLineEdit 类是 Qt 框架中用于输入和编辑单行文本的类。它继承自 QWidget,并提供了创建和操作单行文本编辑器的功能。以下是 QLineEdit 类的所有成员函数和信号的详细列表:

// 构造函数和析构函数
QLineEdit(QWidget *parent = nullptr); // 使用父对象构造单行文本编辑器
QLineEdit(const QString &contents, QWidget *parent = nullptr); // 使用内容和父对象构造单行文本编辑器
~QLineEdit(); // 析构函数

// 公共函数
void setText(const QString &text); // 设置文本
QString text() const; // 获取文本
void setPlaceholderText(const QString &text); // 设置占位文本
QString placeholderText() const; // 获取占位文本
void setAlignment(Qt::Alignment flag); // 设置对齐方式
Qt::Alignment alignment() const; // 获取对齐方式
void cursorBackward(bool mark, int steps = 1); // 向后移动光标
void cursorForward(bool mark, int steps = 1); // 向前移动光标
void cursorWordBackward(bool mark); // 向后移动一个单词
void cursorWordForward(bool mark); // 向前移动一个单词
void backspace(); // 删除光标前的字符
void del(); // 删除光标后的字符
void home(bool mark); // 移动光标到行首
void end(bool mark); // 移动光标到行尾
void setCursorPosition(int); // 设置光标位置
int cursorPosition() const; // 获取光标位置
int cursorPositionAt(const QPoint &pos); // 获取指定位置的光标位置
void setDragEnabled(bool b); // 设置是否启用拖放
bool dragEnabled() const; // 检查是否启用拖放
void setReadOnly(bool); // 设置是否只读
bool isReadOnly() const; // 检查是否只读
void setFrame(bool); // 设置是否有边框
bool hasFrame() const; // 检查是否有边框
void setTextMargins(int left, int top, int right, int bottom); // 设置文本边距
void setTextMargins(const QMargins &margins); // 设置文本边距
QMargins textMargins() const; // 获取文本边距
void setValidator(const QValidator *v); // 设置验证器
const QValidator *validator() const; // 获取验证器
void setCompleter(QCompleter *c); // 设置自动完成器
QCompleter *completer() const; // 获取自动完成器
QSize sizeHint() const; // 获取推荐大小
QSize minimumSizeHint() const; // 获取最小推荐大小
void setEchoMode(EchoMode); // 设置回显模式
EchoMode echoMode() const; // 获取回显模式
bool isModified() const; // 检查文本是否被修改
void setModified(bool); // 设置文本修改状态
void setSelection(int start, int length); // 设置选中文本
bool hasSelectedText() const; // 检查是否有选中文本
QString selectedText() const; // 获取选中文本
int selectionStart() const; // 获取选中文本的起始位置
bool isUndoAvailable() const; // 检查撤销是否可用
bool isRedoAvailable() const; // 检查重做是否可用
void setDragEnabled(bool b); // 设置是否启用拖放
bool dragEnabled() const; // 检查是否启用拖放
void setCursorMoveStyle(Qt::CursorMoveStyle style); // 设置光标移动风格
Qt::CursorMoveStyle cursorMoveStyle() const; // 获取光标移动风格
void setInputMask(const QString &inputMask); // 设置输入掩码
QString inputMask() const; // 获取输入掩码
void setContextMenuPolicy(Qt::ContextMenuPolicy policy); // 设置上下文菜单策略
Qt::ContextMenuPolicy contextMenuPolicy() const; // 获取上下文菜单策略

// 公共槽
void clear(); // 清除文本
void selectAll(); // 全选文本
void undo(); // 撤销
void redo(); // 重做
void cut(); // 剪切
void copy() const; // 复制
void paste(); // 粘贴
void deselect(); // 取消选择
void insert(const QString &); // 插入文本

// 信号
void textChanged(const QString &text); // 文本改变信号
void textEdited(const QString &text); // 文本编辑信号
void cursorPositionChanged(int old, int new); // 光标位置改变信号
void returnPressed(); // 按下回车信号
void editingFinished(); // 编辑完成信号
void selectionChanged(); // 选中文本改变信号

// 枚举类型
enum EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit }; // 回显模式

QTextEdit:多行文本输入框。

QTextEdit 类提供了显示和编辑富文本的基本功能,可以通过设置文本、占位文本、对齐方式和字体样式来定制富文本编辑器。

它还提供了处理文本选择、撤销、重做和剪切复制粘贴的公共槽,以及文本改变、选中文本改变和光标位置改变的信号。

// QTextEdit 类是 Qt 框架中用于显示和编辑富文本的类。它继承自 QAbstractScrollArea,并提供了创建和操作富文本编辑器的功能。以下是 QTextEdit 类的所有成员函数和信号的详细列表:

// 构造函数和析构函数
QTextEdit(QWidget *parent = nullptr); // 使用父对象构造富文本编辑器
QTextEdit(const QString &text, QWidget *parent = nullptr); // 使用文本和父对象构造富文本编辑器
~QTextEdit(); // 析构函数

// 公共函数
void setText(const QString &text); // 设置文本
QString text() const; // 获取纯文本
QString toPlainText() const; // 获取纯文本
QString toHtml() const; // 获取 HTML 文本
void setHtml(const QString &text); // 设置 HTML 文本
void setPlaceholderText(const QString &text); // 设置占位文本
QString placeholderText() const; // 获取占位文本
void setAlignment(Qt::Alignment a); // 设置对齐方式
Qt::Alignment alignment() const; // 获取对齐方式
void setCurrentFont(const QFont &f); // 设置当前字体
QFont currentFont() const; // 获取当前字体
void setFontFamily(const QString &fontFamily); // 设置字体族
QString fontFamily() const; // 获取字体族
void setFontPointSize(qreal s); // 设置字体点大小
qreal fontPointSize() const; // 获取字体点大小
void setFontWeight(int w); // 设置字体权重
int fontWeight() const; // 获取字体权重
void setFontItalic(bool b); // 设置字体是否斜体
bool fontItalic() const; // 检查字体是否斜体
void setFontUnderline(bool b); // 设置字体是否下划线
bool fontUnderline() const; // 检查字体是否下划线
void setTextColor(const QColor &c); // 设置文本颜色
QColor textColor() const; // 获取文本颜色
void setTextBackgroundColor(const QColor &c); // 设置文本背景颜色
QColor textBackgroundColor() const; // 获取文本背景颜色
void setTabChangesFocus(bool b); // 设置按 Tab 键是否改变焦点
bool tabChangesFocus() const; // 检查按 Tab 键是否改变焦点
void setTabStopDistance(qreal distance); // 设置 Tab 键停止距离
qreal tabStopDistance() const; // 获取 Tab 键停止距离
void setDocument(QTextDocument *document); // 设置文档
QTextDocument *document() const; // 获取文档
void setUndoRedoEnabled(bool enable); // 设置是否启用撤销和重做
bool isUndoRedoEnabled() const; // 检查是否启用撤销和重做
void setLineWrapMode(LineWrapMode mode); // 设置换行模式
LineWrapMode lineWrapMode() const; // 获取换行模式
void setLineWrapColumnOrWidth(int w); // 设置换行列或宽度
int lineWrapColumnOrWidth() const; // 获取换行列或宽度
void setReadOnly(bool ro); // 设置是否只读
bool isReadOnly() const; // 检查是否只读
void setOverwriteMode(bool overwrite); // 设置是否覆盖模式
bool overwriteMode() const; // 检查是否覆盖模式
void setAcceptRichText(bool accept); // 设置是否接受富文本
bool acceptRichText() const; // 检查是否接受富文本
void setTextCursor(const QTextCursor &cursor); // 设置文本光标
QTextCursor textCursor() const; // 获取文本光标
bool canPaste() const; // 检查是否可以粘贴
QVariant inputMethodQuery(Qt::InputMethodQuery query) const; // 输入法查询
QSize sizeHint() const; // 获取推荐大小
QSize minimumSizeHint() const; // 获取最小推荐大小

// 公共槽
void clear(); // 清除文本
void selectAll(); // 全选文本
void undo(); // 撤销
void redo(); // 重做
void cut(); // 剪切
void copy() const; // 复制
void paste(); // 粘贴
void append(const QString &text); // 追加文本
void scrollToAnchor(const QString &name); // 滚动到锚点
void insertHtml(const QString &text); // 插入 HTML 文本
void insertPlainText(const QString &text); // 插入纯文本
void ensureCursorVisible(); // 确保光标可见

// 信号
void textChanged(); // 文本改变信号
void selectionChanged(); // 选中文本改变信号
void cursorPositionChanged(); // 光标位置改变信号
void currentCharFormatChanged(const QTextCharFormat &format); // 当前字符格式改变信号
void copyAvailable(bool yes); // 复制可用信号
void redoAvailable(bool available); // 重做可用信号
void undoAvailable(bool available); // 撤销可用信号
void modificationChanged(bool changed); // 修改状态改变信号

// 枚举类型
enum LineWrapMode { NoWrap, WidgetWidth, FixedPixelWidth, FixedColumnWidth }; // 换行模式

QCheckBox:复选框控件。

QRadioButton:单选按钮控件。

QComboBox:下拉框控件。

QSlider:滑动条控件。

QSpinBox:数字微调框控件。

布局管理:

QHBoxLayout:水平布局管理器。

QVBoxLayout:垂直布局管理器。

QGridLayout:网格布局管理器。

QFormLayout:表单布局管理器。

容器控件:

QGroupBox:分组框控件。

QTabWidget:选项卡控件。

QStackedWidget:堆叠控件,一次只显示一个子控件。

QScrollArea:滚动区域控件。

高级控件:

QTreeWidget:树形控件。

QTableWidget:表格控件。

QListView:列表视图控件。

QProgressBar:进度条控件。

QDialog:对话框控件。

QMessageBox:消息框控件。

主窗口和菜单:

QMainWindow:主窗口控件。

QMenuBar:菜单栏控件。

QToolBar:工具栏控件。

QStatusBar:状态栏控件。

鼠标 和 键盘

QMouseEvent:鼠标事件。

class QMouseEvent : public QInputEvent {
public:
    // 构造函数
    QMouseEvent(QEvent::Type type, const QPointF &localPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);
    QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);

    // 公共成员函数
    QPointF localPos() const; // 返回事件的本地坐标位置
    QPointF windowPos() const; // 返回事件的窗口坐标位置
    QPointF screenPos() const; // 返回事件的屏幕坐标位置
    QPoint pos() const; // 返回事件的本地坐标位置(整数精度)
    QPoint globalPos() const; // 返回事件的屏幕坐标位置(整数精度)
    int x() const; // 返回事件的本地坐标位置的 x 坐标(整数精度)
    int y() const; // 返回事件的本地坐标位置的 y 坐标(整数精度)
    int globalX() const; // 返回事件的屏幕坐标位置的 x 坐标(整数精度)
    int globalY() const; // 返回事件的屏幕坐标位置的 y 坐标(整数精度)
    Qt::MouseButton button() const; // 返回触发事件的鼠标按钮
    Qt::MouseButtons buttons() const; // 返回事件发生时所有按下的鼠标按钮

    // 枚举类型
    enum MouseButton {
        NoButton = 0x00000000, // 无按钮
        LeftButton = 0x00000001, // 左键
        RightButton = 0x00000002, // 右键
        MiddleButton = 0x00000004, // 中键
        BackButton = 0x00000008, // 后退按钮
        ForwardButton = 0x00000010, // 前进按钮
        TaskButton = 0x00000020, // 任务按钮
        ExtraButton4 = 0x00000040, // 额外按钮4
        ExtraButton5 = 0x00000080, // 额外按钮5
        ExtraButton6 = 0x00000100, // 额外按钮6
        ExtraButton7 = 0x00000200, // 额外按钮7
        ExtraButton8 = 0x00000400, // 额外按钮8
        ExtraButton9 = 0x00000800, // 额外按钮9
        ExtraButton10 = 0x00001000, // 额外按钮10
        ExtraButton11 = 0x00002000, // 额外按钮11
        ExtraButton12 = 0x00004000, // 额外按钮12
        ExtraButton13 = 0x00008000, // 额外按钮13
        ExtraButton14 = 0x00010000, // 额外按钮14
        ExtraButton15 = 0x00020000, // 额外按钮15
        ExtraButton16 = 0x00040000, // 额外按钮16
        ExtraButton17 = 0x00080000, // 额外按钮17
        ExtraButton18 = 0x00100000, // 额外按钮18
        ExtraButton19 = 0x00200000, // 额外按钮19
        ExtraButton20 = 0x00400000, // 额外按钮20
        ExtraButton21 = 0x00800000, // 额外按钮21
        ExtraButton22 = 0x01000000, // 额外按钮22
        ExtraButton23 = 0x02000000, // 额外按钮23
        ExtraButton24 = 0x04000000, // 额外按钮24
        AllButtons = 0x07ffffff // 所有按钮
    };
};

QKeyEvent:键盘事件。

class QKeyEvent : public QInputEvent {
public:
    // 构造函数
    QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, ushort count = 1);

    // 公共成员函数
    int key() const; // 返回触发事件的键盘按键
    QString text() const; // 返回按键对应的文本
    bool isAutoRepeat() const; // 检查事件是否由自动重复触发
    int count() const; // 返回事件的重复次数
    bool matches(QKeySequence::StandardKey key) const; // 检查事件是否匹配指定的标准按键序列

    // 枚举类型
    enum Key {
        Key_Escape = 0x01000000, //  Esc 键
        Key_Tab = 0x01000001, //  Tab 键
        Key_Backtab = 0x01000002, //  Backtab 键
        Key_Backspace = 0x01000003, //  Backspace 键
        Key_Return = 0x01000004, //  Return 键
        Key_Enter = 0x01000005, //  Enter 键
        Key_Insert = 0x01000006, //  Insert 键
        Key_Delete = 0x01000007, //  Delete 键
        Key_Pause = 0x01000008, //  Pause 键
        Key_Print = 0x01000009, //  Print 键
        Key_SysReq = 0x0100000a, //  SysReq 键
        Key_Clear = 0x0100000b, //  Clear 键
        Key_Home = 0x01000010, //  Home 键
        Key_End = 0x01000011, //  End 键
        Key_Left = 0x01000012, //  左箭头键
        Key_Up = 0x01000013, //  上箭头键
        Key_Right = 0x01000014, //  右箭头键
        Key_Down = 0x01000015, //  下箭头键
        Key_PageUp = 0x01000016, //  PageUp 键
        Key_PageDown = 0x01000017, //  PageDown 键
        Key_Shift = 0x01000020, //  Shift 键
        Key_Control = 0x01000021, //  Control 键
        Key_Meta = 0x01000022, //  Meta 键
        Key_Alt = 0x01000023, //  Alt 键
        Key_AltGr = 0x01001103, //  AltGr 键
        Key_CapsLock = 0x01000024, //  CapsLock 键
        Key_NumLock = 0x01000025, //  NumLock 键
        Key_ScrollLock = 0x01000026, //  ScrollLock 键
        Key_F1 = 0x01000030, //  F1 键
        Key_F2 = 0x01000031, //  F2 键
        Key_F3 = 0x01000032, //  F3 键
        Key_F4 = 0x01000033, //  F4 键
        Key_F5 = 0x01000034, //  F5 键
        Key_F6 = 0x01000035, //  F6 键
        Key_F7 = 0x01000036, //  F7 键
        Key_F8 = 0x01000037, //  F8 键
        Key_F9 = 0x01000038, //  F9 键
        Key_F10 = 0x01000039, //  F10 键
        Key_F11 = 0x0100003a, //  F11 键
        Key_F12 = 0x0100003b, //  F12 键
        Key_F13 = 0x0100003c, //  F13 键
        Key_F14 = 0x0100003d, //  F14 键
        Key_F15 = 0x0100003e, //  F15 键
        Key_F16 = 0x0100003f, //  F16 键
        Key_F17 = 0x01000040, //  F17 键
        Key_F18 = 0x01000041, //  F18 键
        Key_F19 = 0x01000042, //  F19 键
        Key_F20 = 0x01000043, //  F20 键
        Key_F21 = 0x01000044, //  F21 键
        Key_F22 = 0x01000045, //  F22 键
        Key_F23 = 0x01000046, //  F23 键
        Key_F24 = 0x01000047, //  F24 键
        Key_F25 = 0x01000048, //  F25 键
        Key_F26 = 0x01000049, //  F26 键
        Key_F27 = 0x0100004a, //  F27 键
        Key_F28 = 0x0100004b, //  F28 键
        Key_F29 = 0x0100004c, //  F29 键
        Key_F30 = 0x0100004d, //  F30 键
        Key_F31 = 0x0100004e, //  F31 键
        Key_F32 = 0x0100004f, //  F32 键
        Key_F33 = 0x01000050, //  F33 键
        Key_F34 = 0x01000051, //  F34 键
        Key_F35 = 0x01000052, //  F35 键
        Key_Super_L = 0x01000053, //  左 Super 键
        Key_Super_R = 0x01000054, //  右 Super 键
        Key_Menu = 0x01000055, //  Menu 键
        Key_Hyper_L = 0x01000056, //  左 Hyper 键
        Key_Hyper_R = 0x01000057, //  右 Hyper 键
        Key_Help = 0x01000058, //  Help 键
        Key_Direction_L = 0x01000059, //  左 Direction 键
        Key_Direction_R = 0x01000060, //  右 Direction 键
        Key_Space = 0x20, //  Space 键
        Key_Any = Key_Space, //  Any 键
        Key_Exclam = 0x21, //  Exclam 键
        Key_QuoteDbl = 0x22, //  QuoteDbl 键
        Key_NumberSign = 0x23, //  NumberSign 键
        Key_Dollar = 0x24, //  Dollar 键
        Key_Percent = 0x25, //  Percent 键
        Key_Ampersand = 0x26, //  Ampersand 键
        Key_Apostrophe = 0x27, //  Apostrophe 键
        Key_ParenLeft = 0x28, //  ParenLeft 键
        Key_ParenRight = 0x29, //  ParenRight 键
        Key_Asterisk = 0x2a, //  Asterisk 键
        Key_Plus = 0x2b, //  Plus 键
        Key_Comma = 0x2c, //  Comma 键
        Key_Minus = 0x2d, //  Minus 键
        Key_Period = 0x2e, //  Period 键
        Key_Slash = 0x2f, //  Slash 键
        Key_0 = 0x30, //  0 键
        Key_1 = 0x31, //  1 键
        Key_2 = 0x32, //  2 键
        Key_3 = 0x33, //  3 键
        Key_4 = 0x34, //  4 键
        Key_5 = 0x35, //  5 键
        Key_6 = 0x36, //  6 键
        Key_7 = 0x37, //  7 键
        Key_8 = 0x38, //  8 键
        Key_9 = 0x39, //  9 键
        Key_Colon = 0x3a, //  Colon 键
        Key_Semicolon = 0x3b, //  Semicolon 键
        Key_Less = 0x3c, //  Less 键
        Key_Equal = 0x3d, //  Equal 键
        Key_Greater = 0x3e, //  Greater 键
        Key_Question = 0x3f, //  Question 键
        Key_At = 0x40, //  At 键
        Key_A = 0x41, //  A 键
        Key_B = 0x42, //  B 键
        Key_C = 0x43, //  C 键
        Key_D = 0x44, //  D 键
        Key_E = 0x45, //  E 键
        Key_F = 0x46, //  F 键
        Key_G = 0x47, //  G 键
        Key_H = 0x48, //  H 键
        Key_I = 0x49, //  I 键
        Key_J = 0x4a, //  J 键
        Key_K = 0x4b, //  K 键
        Key_L = 0x4c, //  L 键
        Key_M = 0x4d, //  M 键
        Key_N = 0x4e, //  N 键
        Key_O = 0x4f, //  O 键
        Key_P = 0x50, //  P 键
        Key_Q = 0x51, //  Q 键
        Key_R = 0x52, //  R 键
        Key_S = 0x53, //  S 键
        Key_T = 0x54, //  T 键
        Key_U = 0x55, //  U 键
        Key_V = 0x56, //  V 键
        Key_W = 0x57, //  W 键
        Key_X = 0x58, //  X 键
        Key_Y = 0x59, //  Y 键
        Key_Z = 0x5a, //  Z 键
        Key_BracketLeft = 0x5b, //  BracketLeft 键
        Key_Backslash = 0x5c, //  Backslash 键
        Key_BracketRight = 0x5d, //  BracketRight 键
        Key_AsciiCircum = 0x5e, //  AsciiCircum 键
        Key_Underscore = 0x5f, //  Underscore 键
        Key_QuoteLeft = 0x60, //  QuoteLeft 键
        Key_BraceLeft = 0x7b, //  BraceLeft 键
        Key_Bar = 0x7c, //  Bar 键
        Key_BraceRight = 0x7d, //  BraceRight 键
        Key_AsciiTilde = 0x7e, //  AsciiTilde 键
        Key_nobreakspace = 0x0a0, //  nobreakspace 键
        Key_exclamdown = 0x0a1, //  exclamdown 键
        Key_cent = 0x0a2, //  cent 键
        Key_sterling = 0x0a3, //  sterling 键
        Key_currency = 0x0a4, //  currency 键
        Key_yen = 0x0a5, //  yen 键
        Key_brokenbar = 0x0a6, //  brokenbar 键
        Key_section = 0x0a7, //  section 键
        Key_diaeresis = 0x0a8, //  diaeresis 键
        Key_copyright = 0x0a9, //  copyright 键
        Key_ordfeminine = 0x0aa, //  ordfeminine 键
        Key_guillemotleft = 0x0ab, //  guillemotleft 键
        Key_notsign = 0x0ac, //  notsign 键
        Key_hyphen = 0x0ad, //  hyphen 键
        Key_registered = 0x0ae, //  registered 键
        Key_macron = 0x0af, //  macron 键
        Key_degree = 0x0b0, //  degree 键
        Key_plusminus = 0x0b1, //  plusminus 键
        Key_twosuperior = 0x0b2, //  twosuperior 键
        Key_threesuperior = 0x0b3, //  threesuperior 键
        Key_acute = 0x0b4, //  acute 键
        Key_mu = 0x0b5, //  mu 键
        Key_paragraph = 0x0b6, //  paragraph 键
        Key_periodcentered = 0x0b7, //  periodcentered 键
        Key_cedilla = 0x0b8, //  cedilla 键
        Key_onesuperior = 0x0b9, //  onesuperior 键
        Key_masculine = 0x0ba, //  masculine 键
        Key_guillemotright = 0x0bb, //  guillemotright 键
        Key_onequarter = 0x0bc, //  onequarter 键
        Key_onehalf = 0x0bd, //  onehalf 键
        Key_threequarters = 0x0be, //  threequarters 键
        Key_questiondown = 0x0bf, //  questiondown 键
        Key_Agrave = 0x0c0, //  Agrave 键
        Key_Aacute = 0x0c1, //  Aacute 键
        Key_Acircumflex = 0x0c2, //  Acircumflex 键
        Key_Atilde = 0x0c3, //  Atilde 键
        Key_Adiaeresis = 0x0c4, //  Adiaeresis 键
        Key_Aring = 0x0c5, //  Aring 键
        Key_AE = 0x0c6, //  AE 键
        Key_Ccedilla = 0x0c7, //  Ccedilla 键
        Key_Egrave = 0x0c8, //  Egrave 键
        Key_Eacute = 0x0c9, //  Eacute 键

QWheelEvent:滚轮事件。

class QWheelEvent : public QInputEvent {
public:
    // 构造函数
    QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint delta, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::Orientation orient = Qt::Vertical);
    QWheelEvent(const QPointF &pos, const QPointF &globalPos, int delta, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::Orientation orient = Qt::Vertical);
    QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);

    // 公共成员函数
    QPoint pos() const; // 返回事件的本地坐标位置(整数精度)
    QPoint globalPos() const; // 返回事件的屏幕坐标位置(整数精度)
    QPointF position() const; // 返回事件的本地坐标位置(浮点精度)
    QPointF globalPosition() const; // 返回事件的屏幕坐标位置(浮点精度)
    QPoint pixelDelta() const; // 返回像素级别的滚动增量
    QPoint angleDelta() const; // 返回角度级别的滚动增量
    Qt::Orientation orientation() const; // 返回滚轮的方向
    Qt::MouseButtons buttons() const; // 返回事件发生时所有按下的鼠标按钮
    int delta() const; // 返回滚动的角度增量(仅在 Qt4 兼容模式下使用)

    // 枚举类型
    enum {
        DefaultDeltasPerStep = 120 // 默认的滚动步长(角度增量)
    };
};

  • 29
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可能只会写BUG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值