• 7122阅读
  • 1回复

QTreeview怎样获取右键点击? [复制链接]

上一主题 下一主题
离线zhongzhu
 

只看楼主 倒序阅读 楼主  发表于: 2009-07-02
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
我的QTreeview是这样的:

-----folder1
|            |___file1
|           |___file2
|___folder2
            |___file3
            |___file4

我希望在folder1, folder2上点击鼠标右键显示一个我自定义的菜单,但是点击(无论rightClick还是leftClick)在file(1~4)上就在另一个QTextEdit里显示file的属性。

可以QTreeview只提供了signal: void clicked ( const QModelIndex & index )

那我应该如何判断是鼠标左键点击还是右键点击呢? 谢谢!
离线feiying888

只看该作者 1楼 发表于: 2009-07-03
需要重载QTreeView的鼠标事件
以下仅供参考:
*.h文件里
class TableView : public QTableView
            
{
    Q_OBJECT

public:
    TableView(QWidget *parent = 0);
    ~TableView();    
    
    void mousePressEvent(QMouseEvent *event);      
    
signals:    
    

protected:
    
private slots:



private:
        
    
};

*.cpp文件里

void TableView::mousePressEvent(QMouseEvent *event)
{
    if (event->button() == Qt::LeftButton)
    {
        //code
    }

    if (event->button() == Qt::RightButton)
    {
        //code
    }
        
}
快速回复
限100 字节
 
上一个 下一个