[请教]如何在QMainWindow里显示QGraphicsView对象
我知道可以在QMainWindow里边显示一些按钮或者其他功能,但是我在试图在一个QMainWindow里显示一个QGraphicsView子类的对象,一直没成功。大牛们可以告诉我一下应该是怎样的一种嵌套结构么?比如说是用哪些函数把对象添加到QMainWindow的对象里的。再问一个另外的问题,在QGraphicsView对象里边显示的好几个QGraphicsItem,想要增加额外的功能,让QGraphicsItem之间有指定的连线功能,应该怎么做呢。。。
原谅菜鸟的无知吧 --------------------编程问答-------------------- QGraphicsView就是一个QWidget
怎么放QWidget就怎么放QGraphicsView --------------------编程问答--------------------
你的意思我明白了,可是我的操作中还是有一点问题。
是这样的。 我在一个Qt的例子中,
例子中是在MdiArea中通过点击会在MdiArea中添加一个文本编辑框。
槽对应的按钮内容是:
void MainWindow::on_action_New_triggered()
{
// 新建文本编辑器部件
QTextEdit *edit = new QTextEdit(this);
// 使用QMdiArea类的addSubWindow()函数创建子窗口,以文本编辑器为中心部件
QMdiSubWindow *child = ui->mdiArea->addSubWindow(edit);
child->setWindowTitle(tr("多文档编辑器子窗口"));
// 显示子窗口
child->show();
}
现在我打算在里边显示一个很简单的图形,就会打算把槽中的代码换掉
void MainWindow::on_action_New_triggered()
{
QGraphicsScene scene;
scene.setSceneRect(-200, -150, 400, 300);
MyItem *item = new MyItem;
item->setColor(QColor(189, 2, 26));
item->setPos(i * 50 - 90, -50);
scene.addItem(item);
MyView view;
view.setScene(&scene);
//view.show();
QMdiSubWindow *child = ui->mdiArea->addSubWindow(view);
child->setWindowTitle(tr("多文档编辑器子窗口"));
// 显示子窗口
child->show();
}
其中MyItem和MyView是自定义类,其中MyItem是QGraphicsItem的子类,MyView是QGraphicsView的子类
按照我的想法,只是想把槽中对应的操作改为下面的,但是在编译时会报一个错
no matching function for call to'QMdiArea::addSubWindow(MyView&)'
在
QMdiSubWindow *child = ui->mdiArea->addSubWindow(view);
这一行,不知道我啰啰嗦嗦的是否把问题描述清楚了呢 --------------------编程问答-------------------- 参数类型是否错了? addsubwindow 参数是一个指针~
补充:移动开发 , Qt