gpt4 book ai didi

c++ - 如何使用 C++ 中的 Qt 在 QGridLayout 中为 QLabel 加下划线?

转载 作者:行者123 更新时间:2023-11-28 05:04:34 27 4
gpt4 key购买 nike

我目前正在使用 C++ 中的 Qt 5.7-5.8,我正在尝试在 QLabel 下划线并在其下方添加一条黑色实线。知道我的 QLabel 在 QGridLayout 内,我试过这段代码,但它没有显示该行。

mViewerLayout->itemAtPosition(0, 0)->widget()->setStyleSheet("border-bottom: 8px solid black");

我试过设置对象名称并通过它的 objectName() 设置样式表,我试过在下面的代码示例中 setStyleSheet() 函数调用的引号内写“QWidget”而不是“QLabel”,我试过不使用 objectName()。

mViewerLayout->itemAtPosition(0, 0)->widget()->setStyleSheet("QLabel {border-bottom: 8px solid black;}");

如果我将样式表设置为 border: 8px solid black,那么它可以工作并覆盖 QLabel 的所有边框,但我只想给它加下划线,而 border-bottom 似乎不起作用,即使我知道这就是您在 CSS 中指定底部边框的方式,甚至 Qt 文档似乎也指定了这种语法。有人可以纠正我吗?

最佳答案

这样的事情怎么样:

 QLabel * lab = static_cast<QLabel *>(mViewerLayout->itemAtPosition(0, 0)->widget());
QFont f = lab->font();
f.setUnderline(true);
lab->setFont(f);

我认为只使用内置的下划线功能会比尝试伪造它更容易并提供更好的结果。

关于c++ - 如何使用 C++ 中的 Qt 在 QGridLayout 中为 QLabel 加下划线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45134145/

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