(使用Qt 4.8.4)
我想为QLineEdit创建一个自定义框架。一个在photoshop中创建的,我有三个图像(因为它需要拉伸宽度):
我想找到一种方法来将QTLineEdit的外观替换为此,同时仍保留其内部的编辑视觉效果。这只是我要替换的框架。
我该如何解决?如果我覆盖paintEvent,则看不到任何内容,甚至是我输入的内容,甚至是闪烁的光标。
答案 0 :(得分:0)
你试过了吗?
CustomLineEdit
继承的课程QLineEdit
,CustomLineEdit
,paintEvent()
自己重新实施CustomLineEdit
,paintEvent()
中根据需要放置所有照片。答案 1 :(得分:0)
确定。我想我已经钉了它:
我正在为我的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切割封装了由于渐变内部而不能正常拉伸的区域。
这可以确保当编辑控件的大小可变时,边框可以很好地工作。