Qt 删除QLineEdit的边框

Qt 删除QLineEdit的边框,qt,qlineedit,Qt,Qlineedit,我有一堆要删除边框的QLineEdit框。理想情况下,我只想用一行代码来实现这一点,而不必为每个QLineEdit框设置边框。我试图使用QLineEdit::setFrame(false)但这会返回对非静态成员函数的非法调用。建议?使用QLineEdit::setFrame()。但是,它不是一种静态方法。因此,您必须在对象上调用它:myLineEdit->setFrame(false)您可以为应用程序或这些行编辑的父项设置样式表: window()->setStyleSheet("QLin

我有一堆要删除边框的
QLineEdit
框。理想情况下,我只想用一行代码来实现这一点,而不必为每个
QLineEdit
框设置边框。我试图使用
QLineEdit::setFrame(false)
但这会返回对非静态成员函数的非法调用。建议?

使用
QLineEdit::setFrame()
。但是,它不是一种静态方法。因此,您必须在对象上调用它:
myLineEdit->setFrame(false)

您可以为应用程序或这些行编辑的父项设置样式表:

window()->setStyleSheet("QLineEdit { border: none }");

后者相当于执行以下代码:

for(auto ed : window()->findChildren<QLineEdit*>())
  ed->setFrame(false);

您还可以进一步使用CSS选择器覆盖某些对象上的帧。你可以随意使用CSS的强大功能。

我知道,但我有大约200个QLineEdits,这意味着我必须对每一个都使用。没有一种方法可以在全球范围内做到这一点吗?
for(auto ed : window()->findChildren<QLineEdit*>())
  ed->setFrame(false);
qApp->setStyleSheet("QLineEdit { qproperty-frame: false }");