Qt初识,快速上手

前备工作

创建一个有关QWidget的项目

Qt Hello World 程序

QLabel显示文本

1.代码呈现文本

Widget.cpp
cpp 复制代码
#include "widget.h"
#include "ui_widget.h"
#include<QLabel>  //别忘了包头文件
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //注意:我们需要this作为对象树的父节点,所以代码写在Widget类里面
    QLabel* mylabel = new QLabel(this);
    mylabel->setText("Hello World");

}

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

默认生成在左上角

widget.ui

点击widget.ui会跳到如下窗口,我们找到 Label并拖动到右边空白区域。

通过对象查找器定位到2.1 2.2

可以点击白色背景下2.1的HelloWorld修改也可以在2.2中text的右边栏修改

QpushButton显示按钮

代码类似

widget.cpp
cpp 复制代码
#include "widget.h"
#include "ui_widget.h"

//#include<QLabel>
#include<QPushButton>

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


    // QLabel* mylabel = new QLabel(this);
    // mylabel->setText("Hello World");

    QPushButton* mypushButton = new QPushButton(this);
    mypushButton->setText("Hello World!!!");


}

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

PushButton顾名思义就是设置一个按钮

widget.ui

从1拖入ui面,在2中可以修改按钮名

这个命名和connect的使用有关。

connect控制按钮变换

widget.h

只添加这一行声明

widget.cpp
cpp 复制代码
#include "widget.h"
#include "ui_widget.h"
//#include<QLabel>
#include<QPushButton>
#include<QString>
#include<QObject>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);


    // QLabel* mylabel = new QLabel(this);
    // mylabel->setText("Hello World");

    // QPushButton* mypushButton = new QPushButton(this);
    // mypushButton->setText("Hello World!!!");


    //ui界面创建按钮使用
    connect(ui->pushButton, &QPushButton::clicked, this, &Widget::handleClick);

    // 也可以代码生成按钮。
    // QPushButton* mypushButton = new QPushButton(this);
    // connect(mypushButton , &QPushButton::clicked, this, &Widget::handleClick);
    
}

//ui,pushButton等等是QWidget内的,Widget继承了QWidget,故可以直接使用。
void Widget::handleClick()
{
    if(ui->pushButton->text() == QString("hello world"))
    {
        ui->pushButton->setText("hello Qt");
    }
    else
    {
        ui->pushButton->setText("hello world");
    }
}


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

现在按钮可以点击变换了。

相关推荐
必须会一定会10 小时前
Agent Plugins 1.0实战:plugin.json、skills、mcp.json目录结构与迁移
开发语言·人工智能·ai编程
St_rive11 小时前
Page Object设计模式
java·开发语言·设计模式
wp123_111 小时前
硬件元器件笔记|IPX8 防水 Type‑C 母座安费诺 124018802112A 与 TONEVEE TY48086‑24A 分析
c语言·开发语言·笔记
wuyk55511 小时前
4.树:一对多的层次数据结构
开发语言·数据结构·stm32·单片机
luj_176812 小时前
桥牌思维启示:系统设计的模块化架构
c语言·开发语言·c++·经验分享·算法
caimouse13 小时前
ReactOS 图形系统分析(16):字符串对象 — STROBJ(string.c)
c语言·开发语言
Aphelios38014 小时前
一次锁内网络IO引发的Tomcat线程池“饿死”事故
java·开发语言·spring boot·elasticsearch·tomcat·网络io阻塞·线程池耗尽
不可求~14 小时前
C++ std::string_view 不是字符串:从悬空引用到安全用法
java·开发语言·c++
90后小陈老师15 小时前
PHP 配置默认值失效排查实录:isset 兜底遇上表单空串回填,首页文案是怎么集体消失的
开发语言·php