gpt4 book ai didi

c++ - 为 QWidget 添加约束到 css 文件

转载 作者:行者123 更新时间:2023-11-28 06:16:58 24 4
gpt4 key购买 nike

我在带有 Visual Studio 2010 的 Qt Projets 中使用了一个 css 文件。

main.cpp :

QApplication app(argc, argv);
// Mise en place du style CSS
QFile File("Resources/style.css");
File.open(QFile::ReadOnly);
QString styleSheet = File.readAll();
File.close();
app.setStyleSheet(styleSheet);

我的 css 文件的一部分:

QWidget#contenuDescription {
background-color: rgb(0, 150, 255);
border: 2px solid rgb(0, 0, 255);
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px;
}

QLabel#nom1 {
background-color: rgb(0, 150, 255);
font-size: 36px;
}

QLabel#nom2 {
background-color: rgb(0, 150, 255);
font-size: 24px;
}

QLabel#nom3 {
background-color: rgb(0, 150, 255);
font-size: 20px;
}

bool m_changeColor == true 时,我想更改我的 QLabel 的颜色:nom1、nom2 和 nom3。

我知道如果我们想在鼠标位于 QLabel 上时更改样式表,我们可以使用 ::hover。我的问题是否存在类似的东西?

预先感谢您的回答。

最佳答案

你需要使用属性:

Q_PROPERTY(bool changeColor ...)

操作系统设置属性dynamically :

nom1Label->setProperty("changeColor", true);

然后在 CSS 中:

QLabel#nom1[changeColor="true"] {
...
}

另请注意:

Warning: If the value of the Qt property changes after the style sheet has been set, it might be necessary to force a style sheet recomputation. One way to achieve this is to unset the style sheet and set it again.

关于c++ - 为 QWidget 添加约束到 css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30071279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com