有没有办法绕过QLineEdit小部件的角落?如果不是有类似的小部件,我可以这样做吗?
视觉意义:
已解决:(请参阅下文了解更多信息)
QLineEdit *lineEdit = new QLineEdit;
lineEdit -> setStyleSheet("QLineEdit { border: 2px solid gray;"
"border-radius: 5px;}");
答案 0 :(得分:6)
您可以使用 StyleSheets 来设置Qt组件的样式,就像在制作网站时使用它们一样。您可以通过两种方式设置样式表:在应用程序的代码中,或在QtDesiner中。
要在 QtDesiner (最方便)中执行此操作,右键单击已放置在表单上的组件,然后按“编辑样式表”(或者“更改样式表”,对不起,我的Qt不是英文,所以我不确定选项的确切名称)。将打开一个窗口,可以编辑元素的样式表。
它非常方便,因为它有一些有用的选项,比如在那里添加资源或颜色或字体,你只需按几个按钮就可以通过GUI设置所需的选项而无需键入甚至是知道CSS语法。
从代码,您可以这样做(示例):
SomeComponent->setStyleSheet("QLineEdit { border-radius: 5px; }");
Here是有关样式表的文档。
答案 1 :(得分:2)
使用样式表。来自http://doc.qt.io/archives/qt-4.7/stylesheet-examples.html:
QLineEdit {
border: 2px solid gray;
border-radius: 10px;
}
另外,如果你想弄脏手,你总是可以覆盖paintEvent。