• 7219阅读
  • 3回复

在MDI多窗口中显示QGrphicsView中的图元 [复制链接]

上一主题 下一主题
离线wisconxing
 
只看楼主 正序阅读 楼主  发表于: 2008-11-03
— 本帖被 XChinux 执行加亮操作(2009-01-06) —
我用Qt 4.3.2,在程序中设计了一个主窗口MainWindow,有一按钮disp,想通过按钮打开一个MDI子窗口,并在其中显示一个QGrphicsView中的图元Item(一个小红太阳),主要程序如下:但不知道为什么打开的子窗口中什么显示都没有。请高手赐教。
//------- main.cpp --------------
#include <QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    MainWindow mainWin;
           
    mainWin.show();
    return app.exec();
}

//------- mainwindow.h ----------
#include <QMainWindow>

class QMdiArea;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow();
private:
    QMdiArea *mdiArea;
};
#endif

//-------- mainwindow.cpp -----------
void MainWindow::disp()
{    //draw a sun Item in scene,and put scene into view 
    QGraphicsEllipseItem *sun = new QGraphicsEllipseItem(0,0,50,50);
    sun->setBrush(Qt::red);
    sun->setPen(QPen(Qt::red));
   
    QGraphicsScene scene(0, 0, 60,60);
    scene.addItem(sun);
       
    QGraphicsView view(&scene);   

    QMdiSubWindow *subWindow = mdiArea->addSubWindow(&view);
   
    subWindow->show();
}
离线海贼王
只看该作者 3楼 发表于: 2010-07-26
这个在助手里就有啊老大!!
离线richarwu
只看该作者 2楼 发表于: 2008-11-06
顶一个厦门安东
离线zuogenyu

只看该作者 1楼 发表于: 2008-11-04
我这里说个QT论坛的通病:
1、发的帖子太简单,接着会有一大堆人回答。
2、问的问题很复杂,热心人很多,但是一看发现存在两种情况:
  1)写了一大堆文字,看了半天,我不知所云。
  2)贴了一点代码,看了下,一头雾水,把代码取出来仔细一看,差很多东西,根本没办法调试。
3、最恶心的就是什么都不写,只写一个“如题。。。”
希望以后发帖的朋友避免一下,不是没人帮你解决问题,而是不知道该怎么帮你。我这里有个群30195782,有兴趣的高手来吧。

本不想理这个帖子的,但是今天公司确实没事,比较闲,而且今天心情也比较好。以下的程序是我揣测了你的意图,添加了一些函数完成的。里面也有指出你的错误和评论,你自己下了看吧。

源代码qttest.rar
[ 此贴被zuogenyu在2008-11-04 10:40重新编辑 ]
快速回复
限100 字节
 
上一个 下一个