gpt4 book ai didi

c++ - 设计 QFrame 和 QSizeGrip

转载 作者:太空狗 更新时间:2023-10-29 21:16:14 28 4
gpt4 key购买 nike

我创建了一个 QFrame 并添加了一个包含 QSizeGrip 的布局以调整该 QFrame 的大小。

这是我的代码.pp:

DragWidget::DragWidget(QWidget *parent)
: QFrame(parent)
{
setFrameStyle(QFrame::Sunken | QFrame::StyledPanel);
//Set flag to resize
setWindowFlags(Qt::SubWindow);
QGridLayout *layout = new QGridLayout(this);
layout->setContentsMargins(QMargins());
layout->setSpacing(0);
//Add size grip (to resize) to layout
QSizeGrip * sizeGrip = new QSizeGrip(this);
layout->addWidget(sizeGrip, 0, 0, 1, 1, Qt::AlignBottom | Qt::AlignRight);
}

我想像这样设计QFrame有背景:

enter image description here

此外,有什么方法可以自定义QSizeGrip的图标调整大小(使其更清晰...)。

enter image description here

最佳答案

您可以使用样式表自定义 QSizeGrip。这里有一个例子:Customizing QSizeGrip

这里是 Qt 样式表文档:Qt Style Sheets

在您的情况下,您可以添加这行代码:

sizeGrip->setStyleSheet("QSizeGrip { image: url(yourFolder/yourImage.png); }");

以类似的方式,您可以自定义 QFrame 背景,设置将重复的图像。参见 Customizing QFrameList of properties

编辑

另一种方法是子类化 QSizeGrip 并重新实现 paintEvent() 方法(可能还有 sizeHint() 取决于图标大小)。这里有一个例子 Analog Clock Example

关于c++ - 设计 QFrame 和 QSizeGrip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35738689/

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