Bra*_*ark 6 c++ user-interface qt
有没有办法绕过QLineEdit小部件的角落?如果不是有类似的小部件,我可以做到这一点?
视觉意义:

解决:(请参见下面的其他信息)
QLineEdit *lineEdit = new QLineEdit;
lineEdit -> setStyleSheet("QLineEdit { border: 2px solid gray;"
"border-radius: 5px;}");
Run Code Online (Sandbox Code Playgroud)
您可以使用StyleSheets设置Qt组件的样式,就像在制作网站时使用它们一样.您可以通过两种方式设置样式表:在应用程序的代码中,或在QtDesiner中.
要做到这一点在QtDesiner(这是最方便的),您已经在窗体上放置组件上单击鼠标右键,然后按"编辑样式表"(或者"更改样式",对不起,我的Qt是不是英语,所以我不确定该选项的确切名称).将打开一个窗口,可以编辑元素的样式表.
它非常方便,因为它有一些有用的选项,比如在那里添加资源或颜色或字体,你只需按几个按钮就可以通过GUI设置所需的选项,而无需键入甚至知道CSS语法.
从代码中,您可以这样做(示例):
SomeComponent->setStyleSheet("QLineEdit { border-radius: 5px; }");
Run Code Online (Sandbox Code Playgroud)
这是关于样式表的文档.
使用样式表。来自http://doc.qt.io/archives/qt-4.7/stylesheet-examples.html:
QLineEdit {
border: 2px solid gray;
border-radius: 10px;
}
Run Code Online (Sandbox Code Playgroud)
另外,如果你想亲自动手,你可以随时重写paintEvent。