|
10Qter豆
我创建工程,主窗口是:QMainWindow
mdiArea = new QMdiArea;
mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
setCentralWidget(mdiArea);
scene = new LADScene();
scene->setSceneRect(QRectF(0, 0, 1300, 5000));
view = new LADView;
view->setScene(scene);
mdiArea->addSubWindow(view);
在工具条上创建一个按钮,当点击按钮,在scene中添加图元。出现以下问题:
1. 程序启动后,界面显示的是scene 中间,此时点击按钮,并不执行添加图元操作,此时将scene 的滚动条移至最上端,出现图元,并且QGraphicsItem的paint函数执行多次。观察发现,只要拉动滚动条显示图元就会执行QGraphicsItem的paint函数 ;为什么在没有显示顶端时不会触发槽函数?显示图元的位置时才会触发槽函数,并且每次都会触发?
2. 最小化窗口到任务栏,再显示窗口,程序会进入QGraphicsItem的paint函数,只进入这个函数。为什么?
3.单步调试,出现Internal error: pc 0x0 in read in psymtab, but not in symtab这样的错误信息,这个我调试自带的例程也有。
重点是前面两个问题,第三个我调试自带的例程也出现。哪位大牛指教一下。必要时可以提供代码。我用的QT5.1
|
最佳答案
查看完整内容
建议你看看《入门》的图形视图框架一章,先要搞清楚场景、图形项的原点,如果没有书,也可以查下这里:http://www.qter.org/forum.php?mod=viewthread&tid=125。
另外,窗口的隐藏显示都会进行重绘的。
|