Qt6安装及Qt Widgets代码示例

安装(开源版在线安装)

5.15及以上版本安装

Sources组件占磁盘2.32G(可选项)

配置环境变量

export QT_ROOT="$HOME/Qt/6.6.1/macos"
export QTDIR="$HOME/Qt/6.6.1/macos"

首选项配置cmake

在这里插入图片描述
在这里插入图片描述

官方文档

创建项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码示例

目录结构

在这里插入图片描述

UI界面设计

在这里插入图片描述

完整代码

  • main.cpp
#include "mainwindow.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    // 设置窗口标题
    w.setWindowTitle("窗口标题");
    w.show();
    return a.exec();
}
  • mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QCloseEvent>
#include <QPushButton>
#include <QComboBox>
#include <QLineEdit>
#include <QDebug>

QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

protected:
    // 关闭窗口事件
    void closeEvent(QCloseEvent *event) override;

private slots:
    // 按钮事件
    void on_buttonClicked();
    // comboBox事件
    void on_comboBoxCurrentIndexChanged(int index);
    void on_comboBoxCurrentTextChanged(const QString &arg1);
    void on_comboBoxActivated(int index);
    // 输入框事件
    void lineEditTextChanged(const QString &text);
    void lineEditReturnPressed();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
  • mainwindow.cpp
#include "mainwindow.h"
#include "./ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 绑定按钮点击事件
    connect(ui->pushButton, &QPushButton::clicked, this, &MainWindow::on_buttonClicked);

    ui->comboBox->clear();
    // comboBox选项数据
    QMap<QString, int> itemMap;
    itemMap.insert("item1", 1);
    itemMap.insert("item2", 2);
    itemMap.insert("item3", 3);
    itemMap.insert("item4", 4);
    foreach(const QString &str, itemMap.keys()) ui->comboBox->addItem(str, itemMap.value(str));
    ui->comboBox->setCurrentIndex(0);
    // 绑定comboBox变化事件
    connect(ui->comboBox, &QComboBox::currentIndexChanged, this, &MainWindow::on_comboBoxCurrentIndexChanged);
    connect(ui->comboBox, &QComboBox::currentTextChanged, this, &MainWindow::on_comboBoxCurrentTextChanged);
    connect(ui->comboBox, &QComboBox::activated, this, &MainWindow::on_comboBoxActivated);

    // 绑定输入框变化与回车事件
    connect(ui->lineEdit, &QLineEdit::textChanged, this, &MainWindow::lineEditTextChanged);
    connect(ui->lineEdit, &QLineEdit::returnPressed, this, &MainWindow::lineEditReturnPressed);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::closeEvent(QCloseEvent *event)
{
    // 在这里编写自定义的关闭操作
    qDebug()<<"closeEvent";
    // 接受关闭事件并关闭窗口
    event->accept();
}

void MainWindow::on_buttonClicked()
{
    qDebug()<<"buttonClicked";
}

void MainWindow::on_comboBoxCurrentIndexChanged(int index)
{
    qDebug()<<"on_comboBox_currentIndexChanged"<<index;
    QString text = ui->comboBox->currentText();
    QString id = ui->comboBox->currentData().toString();
    qDebug()<<"id=" + id + ",text=" +text;
}

void MainWindow::on_comboBoxCurrentTextChanged(const QString &arg1)
{
    qDebug()<<"on_comboBox_currentTextChanged"<<arg1;
}

void MainWindow::on_comboBoxActivated(int index)
{
    qDebug()<<"on_comboBox_activated"<<index;
}

void MainWindow::lineEditTextChanged(const QString &text)
{
    qDebug()<<"lineEditTextChanged"<<text;
}

void MainWindow::lineEditReturnPressed()
{
    QString text = ui->lineEdit->text();
    qDebug()<<"lineEditReturnPressed"<<text;
}
  • 运行效果
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

逢生博客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值