• 6261阅读
  • 4回复

Qtreewidget和QGraphicsView关联的问题 [复制链接]

上一主题 下一主题
离线zsw8766
 

只看楼主 正序阅读 楼主  发表于: 2010-03-29
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
窗体左侧为Qtreewidget,右侧为QGraphicsView
QTreeWidget和系统目录信息绑定(存放的是图片),这步已经实现,我想双击左侧的一个图片节点,右侧的QGraphicsView就能对应的显示相应的图片。
我想把QTreeWidget的itemDoubleClick(QTreeWidgetItem*, int)信号连接到自定义的QmainWindow的DisplayPic(QTreeWidgetItem*, int)槽上去,
可在MainWindow.h里 自定义DisplayPic()时,编译时却通不过;

MainWindow.h文件代码如下
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QTreeView>
#include <QtGui/QWidget>
#include <QtGui/QDirModel>
#include <QtGui/QTreeWidgetItem>
#include <QtCore/QFileInfo>
#include <QtCore/qfile.h>
#include <QtCore/QDir>
#include <QtCore/qstringlist.h>
#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
public slots:
void DisPlayPic(QTreeWidgetItem *,int);
protected:
void changeEvent(QEvent *e);

private:
Ui::MainWindow *ui;
};
void MainWindow::DisPlayPic(QTreeWidgetItem * item,int index)
{


}

#endif // MAINWINDOW_H

错误和警告提示如下:
D:/earthquake/test/g/test/mainwindow.h:32: multiple definition of `MainWindow::DisPlayPic(QTreeWidgetItem*, int)'
D:/earthquake/test/g/test/mainwindow.h:32: first defined here
D:/earthquake/test/g/test/mainwindow.h:32: multiple definition of `MainWindow::DisPlayPic(QTreeWidgetItem*, int)'
D:/earthquake/test/g/test/mainwindow.h:32: first defined here
:-1: error: collect2: ld returned 1 exit status

请高手指点,谢谢!
离线zsw8766

只看该作者 4楼 发表于: 2010-03-29
QGraphicsView显示图片时 通常代码如下
QGraphicsScene *scene;
QGraphicsView *view = new QGraphicsView( scene,this );
QPixmap *pixmap = new QPixmap("xxx.png");
scene->addPixmap(pixmap );
view->show();


我在窗体上有了QGraphicsView
如何的得到对应的QGraphicsScene呢?
离线zsw8766

只看该作者 3楼 发表于: 2010-03-29
先试试,谢谢了
有问题继续请教啊
呵呵
离线dbzhang800

只看该作者 2楼 发表于: 2010-03-29
void MainWindow::DisPlayPic(QTreeWidgetItem * item,int index)
{
}

放 cpp 文件中去
离线浪漫天使
只看该作者 1楼 发表于: 2010-03-29

void MainWindow::DisPlayPic(QTreeWidgetItem * item,int index)
{


}

放到一个独立的cpp文件里面.
槽函数体不要放到h文件里面
快速回复
限100 字节
 
上一个 下一个