Qt - QObject设置对象名称和设置属性

一、设置对象名

作用:假如有很多个同样的QLabel控件,可以使用setObjectname()函数来绑定一个值,相当于给按钮设置一个唯一id,方便后续获取。获取函数可以用findChild()

setObjectName()

函数描述:用来设置对象的名字,不同对象可以重复

label = QLabel()
label.setObjectName("label")

objectName()

函数描述:获取对象的名字

QString strobj = this->objectName();
qDebug()<<"strobj = "<<strobj;

findChild()

函数描述:通过父部件来查找孩子

函数原型:

//通过父部件来 -“查找孩子”。
T QObject::findChild(const QString & name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const

查找选项 枚举Qt::FindChildOption:

Qt::FindChildOptions是一个QFlags<FindChildOption>类型定义,它存储一个或FindChildOption的组合值。

常量  值  描述
Qt::FindDirectChildrenOnly 0x0 查找object的直接孩子
Qt::FindChildrenRecursively 0x1 查找object的所有孩子(递归搜索)

这个示例,返回parentWidget中一个名为“button1”的QPushButton孩子,即使按钮不是父亲的直接孩子:

QPushButton *button = parentWidget->findChild<QPushButton *>("button1");

 这个示例,返回parentWidget中的一个QListWidget孩子:

QListWidget *list = parentWidget->findChild<QListWidget *>();

这个示例,返回parentWidget(它的直接父亲)中一个名为“button1”的QPushButton孩子:

QPushButton *button = parentWidget->findChild<QPushButton *>("button1", Qt::FindDirectChildrenOnly);

这个示例,返回parentWidget(它的直接父亲)中的一个QListWidget孩子:

QListWidget *list = parentWidget->findChild<QListWidget *>(QString(), Qt::FindDirectChildrenOnly);

 

 

二、设置属性

作用:用来作为id选择器和属性选择器,来设置qss样式

具体使用方法可参考我这篇文章:https://www.cnblogs.com/zhuchunlin/p/17987621

setProperty()

函数描述:用来设置属性

//设置label对象的hehe属性为呵呵
label.setProperty("hehe",'呵呵')

property()

函数描述:用来获取对象的属性

label.property("hehe")

 

posted @ 2024-09-27 20:12  [BORUTO]  阅读(3)  评论(0编辑  收藏  举报