【Qt 学习笔记】QWidget的enable属性 | API的介绍

简介: 【Qt 学习笔记】QWidget的enable属性 | API的介绍


  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

QWidget的enable属性

文章编号:Qt 学习笔记 / 15



一、QWidget类的介绍

在打开Qt Creator右侧时,可以看到许多QWidget的各种属性,并且可以手动对其进行编辑。

这些属性皆可以通过Qt官方文档了解到,在Qt的学习中认识常用的一些重要属性即可


二、什么是API

API是Application Programming Interface(应用程序编程接口)的缩写,是一种定义了软件组件之间交互的协议和工具集。API通过提供一组预定义的函数、类、方法或规则,使得应用程序可以与不同的软件组件、服务或操作系统进行交互和通信。通过使用API,开发人员可以在自己的应用程序中调用其他软件组件的功能,以实现特定的功能或集成不同的服务。

API是什么详细解析


二、enabled

1. 简介

描述了一个控件是否处于“可用”状态,相对的概念就是“禁用”,用按钮举例如下图所示:

• 所谓 “禁用” 指的是该控件不能接收任何用户的输⼊事件, 并且外观上往往是灰色的.

• 如果⼀个 widget 被禁用, 则该 widget 的子元素也被禁用.

2. API

API 说明
isEnabled() 获取到控件的可用状态.
setEnabled 设置控件是否可使用. true 表示可用, false 表示禁用.

3. 代码示例

3.1 示例1:使用代码创建两个按钮(禁用状态和可用状态)

widget.cpp代码

#include "widget.h"
#include "ui_widget.h"
#include<QPushButton>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QPushButton* button = new QPushButton("可用按钮",this);
    button->move(200,200);
    QPushButton* button2 = new QPushButton("禁用按钮",this);
    button2->setEnabled(false);
    button2->move(200,300);
}
Widget::~Widget()
{
    delete ui;
}
3.2 示例2:通过按钮2 切换按钮1 的禁用状态

文件代码:

在上述中使用图形化快速生成信号和槽,代码如下

//widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
    Q_OBJECT
public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
private slots:
    void on_pushButton_clicked();
    void on_pushButton_2_clicked();
private:
    Ui::Widget *ui;
};
#endif // WIDGET_H
//widget.cpp
#include "ui_widget.h"
#include<QDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}
Widget::~Widget()
{
    delete ui;
}
void Widget::on_pushButton_clicked()
{
    qDebug()<<"按钮按下";
}
void Widget::on_pushButton_2_clicked()
{
     qDebug()<<"禁用按钮按下";
    bool enable=ui->pushButton->isEnabled();
    if(enable)
    {
        ui->pushButton->setEnabled(false);
    }
    else
    {
        ui->pushButton->setEnabled(true);
    }
}
3.3 示例3:在图形化中创建按钮的时候, 设置按钮的状态

在 Qt Designer 中创建按钮的时候, 可以设置按钮的初始状态是 “可用” 还是 “禁用” .

如果把 enabled 这⼀列的对钩去掉, 则按钮的初始状态就是 “禁⽤” 状态.


三、QObject的objectName属性介绍

  • QObject 是 QWidget 的父类. 里面最主要的属性就是 objectName .
    在一个 Qt 程序中, objectName相当于对象的身份标识, 彼此之间不能重复.
  • 在使用 Qt Designer 时, 尤其是界面上存在多个 widget 的时候, 可以通过objectName 获取到指定的 widget 对象.
  • Qt Designer 生成的 ui 文件, 本身是 xml 格式的. qmake 会把这个 xml 文件转换成 C++ 的.h⽂件(这个文件生成在 build 目录中), 构成⼀个ui_widget 类.
  • 每个 widget 的 objectName最终就会成为 ui_widget 类的属性名字. 最终这个类的实例, 就是 Ui::Widget *ui , 因此就可以通过形如 ui->pushButton 或者 ui->pushButton_2 这样的代码获取到界面上的 widget 对象了.

目录
相关文章
|
2月前
|
程序员 数据安全/隐私保护 C++
【qt】动态属性
【qt】动态属性
32 1
|
2月前
|
安全 编译器 开发者
【Qt 学习笔记】Qt信号和槽的其他说明及Lambda表达式
【Qt 学习笔记】Qt信号和槽的其他说明及Lambda表达式
85 0
|
1月前
|
前端开发
自定义QT QWidget对象响应弹出菜单的解决方法
自定义QT QWidget对象响应弹出菜单的解决方法
42 1
|
1月前
|
存储 JSON API
批量采集抖音商品详情数据:推荐你使用API(通过商品id取商品详情商品主图sku属性)
批量采集抖音商品详情,建议使用API接口。步骤包括:注册抖音开放平台获取App Key和Secret,调用商品详情API接口传入商品ID及相关参数,解析返回的JSON获取商品信息(如名称、价格、主图和SKU)。此外,接口列表提供商品搜索、销售量查询、历史价格、订单管理等多种功能。已封装的API接口地址:c0b.cc/R4rbK2,可测试并联系获取SDK文件。
35 1
|
1月前
|
芯片
QT的音频操作---madplay &学习笔记
QT的音频操作---madplay &学习笔记
Qt 窗口常用位置API函数 & 绘图原理 & 双缓冲机制 总结
Qt 窗口常用位置API函数 & 绘图原理 & 双缓冲机制 总结
|
2月前
|
C语言 容器
【qt】动态属性(下)
【qt】动态属性(下)
24 1
|
2月前
|
Windows
Qt 目录操作(QDir 类)及展示系统文件实战 & QFilelnfo 类介绍和获取文件属性项目实战
Qt 目录操作(QDir 类)及展示系统文件实战 & QFilelnfo 类介绍和获取文件属性项目实战
Qt 目录操作(QDir 类)及展示系统文件实战 & QFilelnfo 类介绍和获取文件属性项目实战
|
2月前
|
开发框架 数据可视化 前端开发
【Qt 学习笔记】Qt控件概述
【Qt 学习笔记】Qt控件概述
46 0
|
2月前
|
编译器 C++ 索引
【Qt 学习笔记】详解Qt中的信号和槽
【Qt 学习笔记】详解Qt中的信号和槽
91 0