我正在使用 QGraphicsView/QGraphicsScene 并添加了一个 QTestEdit-Widget。不幸的是,TextEdit 在下方呈现了一个灰色条,我无法摆脱它。有谁知道如何实现这一点?
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);
}
最佳答案
使用 StyleSheet 没有解决问题,但以下方法工作正常:
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 是解决方案。看起来很奇怪......
关于c++ - Qt:GraphicsView 中的 TextEdit,下方有奇怪的灰色条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25893326/