QT GUI常用函数介绍

在 Qt GUI 模块中,有许多常用的函数用于处理图形用户界面相关的操作。以下是一些常用的 Qt GUI 函数介绍:

  1. QWidget 类函数

    • setWindowTitle(const QString &title):设置窗口的标题。
    • resize(int w, int h):设置窗口的大小。
    • show():显示窗口。
    • close():关闭窗口。
    • setStyleSheet(const QString &styleSheet):设置窗口的样式表。
  2. QPainter 类函数

    • begin(QPaintDevice *device):开始在指定设备上绘制。
    • drawText(int x, int y, const QString &text):在指定位置绘制文本。
    • drawRect(int x, int y, int width, int height):绘制矩形。
    • fillRect(int x, int y, int width, int height, const QBrush &brush):填充矩形区域。
  3. QMessageBox 类函数

    • information(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton):显示信息对话框。
    • question(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = StandardButtons(Yes | No), StandardButton defaultButton = NoButton):显示询问对话框。
    • warning(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton):显示警告对话框。
    • critical(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton):显示严重错误对话框。
  4. QLineEdit 类函数

    • text():获取文本框中的内容。
    • setText(const QString &text):设置文本框中的内容。
    • clear():清空文本框中的内容。
    • setPlaceholderText(const QString &text):设置文本框的占位符文本。
  5. QPushButton 类函数

    • setText(const QString &text):设置按钮的文本内容。
    • clicked():点击按钮时触发的信号。
    • setEnabled(bool enabled):设置按钮是否可用。

这些是 Qt GUI 模块中常用的一些函数,可以帮助您在编写图形用户界面时进行各种操作。通过熟练掌握这些函数,您可以更加灵活地设计和操作 Qt GUI 应用程序。

Qt GUI 程序示例,包括一个主窗口、菜单栏、工具栏、状态栏、以及一个可以显示图片的中心部件:

#include <QApplication>
#include <QMainWindow>
#include <QMenu>
#include <QMenuBar>
#include <QToolBar>
#include <QStatusBar>
#include <QLabel>
#include <QPixmap>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    // 创建主窗口
    QMainWindow mainWindow;
    mainWindow.setWindowTitle("Complex Qt GUI Example");
    mainWindow.setGeometry(100, 100, 800, 600);

    // 创建菜单栏
    QMenu *fileMenu = mainWindow.menuBar()->addMenu("File");
    fileMenu->addAction("Open");
    fileMenu->addAction("Save");
    fileMenu->addAction("Exit");

    // 创建工具栏
    QToolBar *toolBar = mainWindow.addToolBar("Tools");
    toolBar->addAction("Open");
    toolBar->addAction("Save");

    // 创建状态栏
    QStatusBar *statusBar = mainWindow.statusBar();
    statusBar->showMessage("Ready");

    // 创建中心部件显示图片
    QPixmap pixmap("path/to/image.jpg");
    QLabel *imageLabel = new QLabel();
    imageLabel->setPixmap(pixmap.scaled(400, 300, Qt::KeepAspectRatio));
    mainWindow.setCentralWidget(imageLabel);

    mainWindow.show();

    return app.exec();
}

在这个稍复杂的示例程序中,我们创建了一个主窗口,包括菜单栏(File 菜单),工具栏(Tools 工具栏),状态栏(显示 "Ready"),以及一个中心部件(一个可以显示图片的 QLabel)。您可以根据需要自定义菜单、工具栏和状态栏,同时在中心部件中展示各种内容或组件。请确保替换代码中的 "path/to/image.jpg" 为您自己的图片路径,以便显示自定义图片。

相关推荐
捕鲸叉2 分钟前
MVC(Model-View-Controller)模式概述
开发语言·c++·设计模式
wrx繁星点点18 分钟前
享元模式:高效管理共享对象的设计模式
java·开发语言·spring·设计模式·maven·intellij-idea·享元模式
真的想不出名儿21 分钟前
Java基础——反射
java·开发语言
徒步僧37 分钟前
ThingsBoard规则链节点:RPC Call Reply节点详解
qt·microsoft·rpc
努力编程的阿伟41 分钟前
【Java SE语法】抽象类(abstract class)和接口(interface)有什么异同?
java·开发语言
包饭厅咸鱼1 小时前
QML----复制指定下标的ListModel数据
开发语言·数据库
bryant_meng1 小时前
【python】Distribution
开发语言·python·分布函数·常用分布
红黑色的圣西罗1 小时前
Lua 怎么解决闭包内存泄漏问题
开发语言·lua
yanlou2331 小时前
KMP算法,next数组详解(c++)
开发语言·c++·kmp算法
小林熬夜学编程1 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法