C++ Qt:GraphicsView中的文本编辑,下面有奇怪的灰色条

C++ Qt:GraphicsView中的文本编辑,下面有奇怪的灰色条,c++,qt,graphics,widget,C++,Qt,Graphics,Widget,我正在使用QGraphicsView/qgraphicscene并添加了一个QTestEdit小部件。不幸的是,文本编辑在下面呈现一个灰色条,我无法摆脱它。有人知道如何做到这一点吗 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QGraphicsView *view = new QGraph

我正在使用QGraphicsView/qgraphicscene并添加了一个QTestEdit小部件。不幸的是,文本编辑在下面呈现一个灰色条,我无法摆脱它。有人知道如何做到这一点吗

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QGraphicsView *view = new QGraphicsView(ui->centralWidget);

    QGraphicsScene *scene = new QGraphicsScene(0, 0, 2000, 2000, view);
    scene->setSceneRect(-100,-100,400,400);

    view->setTransformationAnchor(QGraphicsView::NoAnchor);
    view->setScene(scene);

    QTextEdit *edt_test = new QTextEdit(0);
    edt_test->setGeometry(10,20,80,60);
    edt_test->setFrameStyle(QFrame::Plain | QFrame::Box);
    scene->addWidget(edt_test);
}

使用样式表并不能解决问题,但以下方法效果良好:

QTextEdit *edt_test = new QTextEdit(0);
QGraphicsProxyWidget *proxy = scene->addWidget(edt_test);
edt_test->setFrameStyle(QFrame::Plain | QFrame::Box);
proxy->setGeometry(QRectF(10,20,80,60));
基于ProxyWidget调用setGeometry就是解决方案。看起来很奇怪