Seite 1 von 1

QMenu erscheint an Falscher stelle

Verfasst: 20. Juli 2011 18:25
von Marvvvv
Hi,
Ich bin gerade dabei mit ein ContextMenü für mein Treeview zu schreiben nur es erscheint immer an der Falschen stelle, nämlich immer so 150-300px höher.
Das ist mein minimal Beispiel:

Code: Alles auswählen

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QStandardItemModel>
#include <QSortFilterProxyModel>
#include <QTreeView>


class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    QSortFilterProxyModel* proxyModel;
    QStandardItemModel *model;
    QTreeView* table;
private slots:
    void showContextMenu(const QPoint &);
};

#endif // MAINWINDOW_H



#include "mainwindow.h"
#include <QTreeView>
#include <QMessageBox>
#include <QGridLayout>
#include <QMenu>
#include <QLabel>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent)
{
    QLabel* label = new QLabel();
    QGridLayout* layout = new QGridLayout(this);
    table = new QTreeView(this);
    model = new QStandardItemModel(0, 1,this);
    proxyModel = new QSortFilterProxyModel;
    proxyModel->setDynamicSortFilter(true);

    model->setHeaderData(0, Qt::Horizontal, QObject::tr("Title"));
    model->insertRow(0);
    model->setData(model->index(0, 0), tr("Test"));
    model->insertRow(0);
    model->setData(model->index(0, 0), tr("Test 2"));

    proxyModel->setSourceModel(model);
    proxyModel->setFilterKeyColumn(-1);
    table->setModel(proxyModel);
    table->setContextMenuPolicy(Qt::CustomContextMenu);

    connect(table, SIGNAL(customContextMenuRequested( const QPoint& )), this, SLOT(showContextMenu(const QPoint &)));

    layout->addWidget(table);
    setCentralWidget(label);
    centralWidget()->setLayout(layout);
}

MainWindow::~MainWindow()
{
}
void MainWindow::showContextMenu(const QPoint& point){
    //if (table->indexAt(point).isValid()) {
        QMenu menu(this);
        menu.addMenu(tr("Test"));
        menu.exec(point);
    //}
}



Re: QMenu erscheint an Falscher stelle

Verfasst: 20. Juli 2011 18:56
von Christian81