我创建了一个QFrame,并添加了一个包含QSizeGrip的布局,以调整QFrame的大小。
这是my code.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有这样一个背景:

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

发布于 2016-03-02 07:14:54
可以使用样式表自定义QSizeGrip。这里有一个例子:定制QSizeGrip
在这里,Qt样式表文档:Qt样式表
在您的示例中,您可以添加以下代码:
sizeGrip->setStyleSheet("QSizeGrip { image: url(yourFolder/yourImage.png); }");以类似的方式,您可以自定义QFrame背景,设置要重复的图像。见定制QFrame和属性列表
编辑
另一种方法是对QSizeGrip进行子类化,并重新实现paintEvent()方法(根据图标大小,也可能是sizeHint() )。这里是一个例子模拟时钟示例
https://stackoverflow.com/questions/35738689
复制相似问题