欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 【Qt】QWidegt的enable属性

【Qt】QWidegt的enable属性

2024/10/25 19:23:02 来源:https://blog.csdn.net/dab112/article/details/141124403  浏览:    关键词:【Qt】QWidegt的enable属性

enabled:描述了一个控件是否处于“可用”状态(相对的概念“禁用”)。

API说明

isEnabled()

获取到控件的可⽤状态

setEnabled

设置控件是否可使⽤. true 表⽰可⽤, false 表⽰禁⽤

  • 所谓“禁用”指的是该控件不能接收任何用户的输入事件,并且外观上往往是灰色的。
  • 如果一个Widget被禁用,则该widget的子元素也被禁用。

例子:创建出一个禁用的按钮 

#include "widget.h"
#include "ui_widget.h"#include<QPushButton>
#include<QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QPushButton* button = new QPushButton("按钮",this);//将按钮处于禁用状态button->setEnabled(false);//将按钮信号与槽建立联系connect(button, &QPushButton::clicked, this, &Widget::handleButton);}Widget::~Widget()
{delete ui;
}void Widget::handleButton()
{qDebug() << "按钮未被禁用";
}

此时,按钮已经被禁用,处于灰色状态。

使用一个按钮控制另外一个按钮的状态的例子

首先,设置俩个按钮的时候需要注意俩个按钮的objectName。

在同一个界面中,要求不同的控件的objectName也是必须不同的(即不能重复),这样就可以通过ui->objectName的方式获取到对应的控件类型了。

例如:

ui->pushButton //获取到第一个按钮对应的对象。

ui->pushButton //获取到第二个按钮对应的对象。

在这里,Qt会根据ui文件,生成一个ui_widget.h文件生成的过程中就会感知到,界面上的控件及每个控件的objectName。

当前自动生成的objectName有一定规律,即根据控件的类型+下划线+数字。

但是,以数字的方式命名,不是一个好的编程习惯,可以手动更改合适的命名。

下面进行对执行俩个按钮点击信号后的槽函数:

#include "widget.h"
#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_enable_clicked()
{//调整上面按钮的禁用状态//第一步:获取到上面当前按钮的状态bool enable = ui->pushButton->isEnabled();//第二步:调整上面当前按钮的状态if(enable){ui->pushButton->setEnabled(false);}else{ui->pushButton->setEnabled(true);}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com