[Qt-interest] Fwd: how to judge which button click the QTreeWidgetItem?
John McClurkin
jwm at nei.nih.gov
Fri Nov 5 13:11:51 CET 2010
lvbing lvbing wrote:
>
>
> ---------- Forwarded message ----------
> From: *lvbing lvbing* <lvbing1981 at gmail.com <mailto:lvbing1981 at gmail.com>>
> Date: Thu, Nov 4, 2010 at 7:01 PM
> Subject: Re: [Qt-interest] how to judge which button click the
> QTreeWidgetItem?
> To: Keith Rusler <xzekecomax at gmail.com <mailto:xzekecomax at gmail.com>>
>
>
> I know,
> but when I click the right button,it will emit the signal:
> itemClick(QTreeWidgetItem*,int).
>
> so I don't know who emit the signal itemClick,left button or right
> button.and the result is:when I clicked
> the left button,the itemClick will be done
> and when I clicked the right button,the itemClick also will be done,but
> I don't want to call the itemClick when
> I clicked the right button!
>
> so how can I distinguish which button has been clicked when the signal
> itemClicked be emited?
>
> thank all
>
>
> On Thu, Nov 4, 2010 at 5:46 PM, Keith Rusler <xzekecomax at gmail.com
> <mailto:xzekecomax at gmail.com>> wrote:
>
> I think it should be quite normal if you really think about it.
> Because if you right click on any item, it should show a context
> menu for that item it was clicked on right?
>
> On 4 November 2010 04:08, lvbing lvbing <lvbing1981 at gmail.com
> <mailto:lvbing1981 at gmail.com>> wrote:
>
> hello all
> I have a QTreeWidget in my QMainWidows,and I have two
> functions,the one is left button click
> and the another is the right button to popup some Menu.
>
> The code like this:
>
> MainWindow::MainWindow() : QMainWindow()
> {
> setCentralWidget(view);
> view = new QTreeWidget(this);
> connect(view,SIGNAL(itemClicked ( QTreeWidgetItem *, int
> )),this,SLOT(on_MyTree_itemClicked( QTreeWidgetItem *, int )));
> init();
> }
>
> void MainWindow::on_MyTree_itemClicked ( QTreeWidgetItem * item,
> int column )
> {
> qDebug() << "on_MyTree_itemClicked"
> << item->text(column);
> //to do somthing
> }
>
>
> void MainWindow::contextMenuEvent(QContextMenuEvent * event)
> {
> qDebug() << "contextMenuEvent"
> << event->pos().x()
> << " and "
> << event->pos().y();
> //To popup the menu when I click the right mouse button!
> }
>
> But now I find when I clicked the right button,it will call
> the on_MyTree_itemClicked slot first!!
> and how can I distinguish the left or right button?
>
> thanks all
>
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com <mailto:Qt-interest at trolltech.com>
> http://lists.trolltech.com/mailman/listinfo/qt-interest
>
>
>
>
You might try installing an eventFilter on the QTreeWidget.
More information about the Qt-interest-old
mailing list