QLineEdit圆角?

时间:2012-07-17 06:19:30

标签: c++ qt user-interface

有没有办法绕过QLineEdit小部件的角落?如果不是有类似的小部件,我可以这样做吗?

视觉意义:

enter image description here

已解决:请参阅下文了解更多信息

      QLineEdit *lineEdit = new QLineEdit;

      lineEdit -> setStyleSheet("QLineEdit {  border: 2px solid gray;"
                                             "border-radius: 5px;}");

2 个答案:

答案 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。