9

有没有办法使 QLineEdit 小部件的角落变圆?如果没有,是否有类似的小部件我可以这样做?

视觉意义:

在此处输入图像描述

已解决:(有关更多信息,请参见下文

      QLineEdit *lineEdit = new QLineEdit;

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

2 回答 2

10

您可以使用StyleSheets设置 Qt 组件的样式,就像在制作网站时使用它们一样。您可以通过两种方式设置样式表:在应用程序代码中或在 QtDesiner 中。

要在QtDesiner中完成(最方便),右键单击您放置在表单上的组件,然后按“编辑样式表”(或者可能是“更改样式表”,对不起,我的 Qt 不是英文的,所以我不确定该选项的确切名称)。将打开一个窗口,您可以在其中编辑元素的样式表。

它非常方便,因为它有一些有用的选项,例如在此处添加资源、颜色或字体,您只需按几个按钮即可通过 GUI 设置所需的选项,而无需键入甚至了解 CSS 语法.

代码中,您可以这样做(示例):

SomeComponent->setStyleSheet("QLineEdit { border-radius: 5px; }");

是有关样式表的文档。

于 2012-07-17T06:27:13.053 回答
5

使用样式表。来自http://doc.qt.io/archives/qt-4.7/stylesheet-examples.html

QLineEdit {
 border: 2px solid gray;
 border-radius: 10px;
}

此外,如果你想弄脏你的手,你总是可以覆盖paintEvent。

于 2012-07-17T06:24:00.490 回答