[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

pl.comp.programming

Qt 4, Menu kontekstowe

TmP

4/22/2007 5:29:00 PM

Witam

Mam klase (nazwijmy j± MyTree), dziedziczaca po QTreeWidget, ktora to do
tworzenia drzewa uzywa standardowego QTreeWidgetItem. I teraz problem polega
na tym, ze w zaleznosci na ktorym z elementow drzewa klikne prawym
przyciskiem myszy, ma pojawic sie inne menu kontekstowe, tzn z inna
zawartoscia. np. po kliknieciu na root drzewa, ma sie pojawic menu: zmien
nazwe, dodaj nowy element; po kliknieciu np. na ktorys z elementow drzewa,
ma sie pojawic np. takie menu: zmien nazwe, edytuj, usun.

Potrafie zrobic takie menu kontekstowe, ktore sie otwiera po kliknieciu
prawym przyciskiem myszy w obszarze widgeta MyTree.

Czy moze mi ktos podpowiedziec jak sie do tego zabrac?
TmP


4 Answers

walec-51

4/25/2007 7:27:00 PM

0

TmP wrote:

> Witam
>
> Mam klase (nazwijmy j± MyTree), dziedziczaca po QTreeWidget, ktora to do
> tworzenia drzewa uzywa standardowego QTreeWidgetItem. I teraz problem
> polega na tym, ze w zaleznosci na ktorym z elementow drzewa klikne prawym
> przyciskiem myszy, ma pojawic sie inne menu kontekstowe, tzn z inna
> zawartoscia. np. po kliknieciu na root drzewa, ma sie pojawic menu: zmien
> nazwe, dodaj nowy element; po kliknieciu np. na ktorys z elementow drzewa,
> ma sie pojawic np. takie menu: zmien nazwe, edytuj, usun.
>
> Potrafie zrobic takie menu kontekstowe, ktore sie otwiera po kliknieciu
> prawym przyciskiem myszy w obszarze widgeta MyTree.
>
> Czy moze mi ktos podpowiedziec jak sie do tego zabrac?
> TmP

A do dokumentacji nie chaciaÅ?o siÄ? zajrzeÄ? ?

void QTreeWidget::itemClicked ( QTreeWidgetItem * item, int column )
[signal]
This signal is emitted when the user clicks inside the widget.
The specified item is the item that was clicked, or 0 if no item was
clicked. The column is the item's column that was clicked, or -1 if no item
was clicked.

PodÅ?Ä?cz ten sygnaÅ? do jakieÅ? funkcji i w tej funkcji odpal odpowiednie menu
z zależnoÅ?ci od wartoÅ?ci item.

--
walec-51

Jabber: walec51@jabber.com
GG: 9008212

PlusMinus

5/1/2007 8:59:00 AM

0


U¿ytkownik "walec51" <walec51@o2.pl> napisa³ w wiadomo¶ci
news:f0oa24$ruu$1@news.task.gda.pl...
> A do dokumentacji nie chacia³o siê zajrzeæ ?
>
> void QTreeWidget::itemClicked ( QTreeWidgetItem * item, int column )
> [signal]
> This signal is emitted when the user clicks inside the widget.
> The specified item is the item that was clicked, or 0 if no item was
> clicked. The column is the item's column that was clicked, or -1 if no
> item
> was clicked.
>
> Pod³±cz ten sygna³ do jakie¶ funkcji i w tej funkcji odpal odpowiednie
> menu
> z zale¿no¶ci od warto¶ci item.
>

No ale to nie rozwiazuje calosci problemu. Menu tworzone jest w metodzie:
contextMenuEvent(QContextMenuEvent* event)
Moge powiazac sygnal itemClicked z jakims slotem, ale wtedy nie bede
wiedzial w ktorym miejscu utworzyc menu kontekstowe. W przypadku obsluzenia
contextMenuEvent uzywam:
QMenu menu (this);
menu.addAction (action); //wypelniamy menu
menu.exec(event->globalPos());

A jak ty to blizej widzisz?
TmP


TmP

5/1/2007 9:44:00 AM

0

U¿ytkownik "walec51" <walec51@o2.pl> napisa³ w wiadomo¶ci
news:f0oa24$ruu$1@news.task.gda.pl...
> A do dokumentacji nie chacia³o siê zajrzeæ ?
>
> void QTreeWidget::itemClicked ( QTreeWidgetItem * item, int column )
> [signal]
> This signal is emitted when the user clicks inside the widget.
> The specified item is the item that was clicked, or 0 if no item was
> clicked. The column is the item's column that was clicked, or -1 if no
> item
> was clicked.
>
> Pod³±cz ten sygna³ do jakie¶ funkcji i w tej funkcji odpal odpowiednie
> menu
> z zale¿no¶ci od warto¶ci item.
>

No ale to nie rozwiazuje calosci problemu. Menu tworzone jest w metodzie:
contextMenuEvent(QContextMenuEvent* event)
Moge powiazac sygnal itemClicked z jakims slotem, ale wtedy nie bede
wiedzial w ktorym miejscu utworzyc menu kontekstowe. W przypadku obsluzenia
contextMenuEvent uzywam:
QMenu menu (this);
menu.addAction (action); //wypelniamy menu
menu.exec(event->globalPos());

A jak ty to blizej widzisz?
TmP


walec-51

5/20/2007 7:05:00 PM

0

> Moge powiazac sygnal itemClicked z jakims slotem, ale wtedy nie bede
> wiedzial w ktorym miejscu utworzyc menu kontekstowe. W przypadku
> obsluzenia contextMenuEvent uzywam:
> QMenu menu (this);
> menu.addAction (action); //wypelniamy menu
> menu.exec(event->globalPos());
>
> A jak ty to blizej widzisz?
> TmP

Nie rozumiem twojej wypowiedzi :/ Mówisz że nie możesz w kodzie jednak
widaÄ? że możesz...

--
walec-51

Jabber: walec51@jabber.com
GG: 9008212