(使用 Qt 4.8.4)
我想为 QLineEdit 创建一个自定义框架。一张是在 Photoshop 中创建的,我有三张图片(因为它需要在宽度上拉伸):
- 左侧图像
- 中心街道图像
- 右侧图像
我想找到一种方法将 QTLineEdit 的外观替换为此,同时仍保留其中的编辑视觉效果/感觉。这只是我想要替换的框架。
我该怎么做?如果我覆盖paintEvent,则什么都看不到,甚至看不到我键入的内容,甚至看不到闪烁的光标。
(使用 Qt 4.8.4)
我想为 QLineEdit 创建一个自定义框架。一张是在 Photoshop 中创建的,我有三张图片(因为它需要在宽度上拉伸):
我想找到一种方法将 QTLineEdit 的外观替换为此,同时仍保留其中的编辑视觉效果/感觉。这只是我想要替换的框架。
我该怎么做?如果我覆盖paintEvent,则什么都看不到,甚至看不到我键入的内容,甚至看不到闪烁的光标。
好的。我想我搞定了:
我正在为我的 QLineEdit 对象设置以下样式表:
this->ui->myLineEdit->setStyleSheet("border-image: url(input_bg.png) 5 5 5 5 stretch stretch;border-width: 5px 5px 5px 5px;");
我使用“5”是因为在我使用的图像中,每个角的 5x5 切割封装了由于内部渐变而无法优雅拉伸的区域。
这确保了当编辑控件的大小可变时边框可以很好地工作。
你有没有尝试过:
CustomLineEdit
继承自的类QLineEdit
,CustomLineEdit
,paintEvent()
,CustomLineEdit
paintEvent()
需要放置所有图片。