QT 两个窗口使用同一个样式表 窗口不同的同名组件怎么区分
可以使用对象名称来区分不同的同名组件。
在Qt中,每个组件都有一个对象名称(objectName),可以使用该名称来标识和区分不同的组件。
假设有两个窗口A和B,它们都使用了同一个样式表,并且都包含了一个同名的按钮组件button。
在窗口A中,可以将按钮组件的对象名称设置为"buttonInA",在窗口B中,可以将按钮组件的对象名称设置为"buttonInB"。这样就可以通过对象名称来区分不同的按钮组件了。
示例代码如下:
// 窗口A的代码
QPushButton *buttonA = new QPushButton(this);
buttonA->setObjectName("buttonInA");
buttonA->setStyleSheet("QPushButton#buttonInA { background-color: red; }");
// 窗口B的代码
QPushButton *buttonB = new QPushButton(this);
buttonB->setObjectName("buttonInB");
buttonB->setStyleSheet("QPushButton#buttonInB { background-color: blue; }");
在样式表中,使用"#"符号来指定对象名称的选择器。通过这种方式,可以为不同窗口中的同名组件设置不同的样式
原文地址: https://www.cveoy.top/t/topic/iDQZ 著作权归作者所有。请勿转载和采集!