Schrift
[thread]4755[/thread]

[Tk] Kontextmenü

Tags: Ähnliche Threads

Leser: 20


<< >> 8 Einträge, 1 Seite
alexus-777
 2004-04-21 23:11
#41924 #41924
User since
2004-04-13
121 Artikel
BenutzerIn
[default_avatar]
Hallo,

also wenn man in einer Listbox mit der Rechten Maustaste auf ein Eintrag klickt, soll eine popup menü aufgehen.

Frage:
wie erstellt man ein Kontextmenü (für Rechtsklick)?
Ein Codebeispiel wär natürlich super!


Danke im voraus

Gruß Alexander
Ishka
 2004-04-22 02:35
#41925 #41925
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
$widget->bind("<Button-2>"=>sub {}); führt zumindestens mal Code aus, wenn du mit der rechten Maustaste draufklickst (könnte auch ne 3 statt ner 2 sein). Wie man n Kontext-Menü macht, hab ich grad nciht im Kopf
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
Robby
 2004-04-22 09:36
#41926 #41926
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
Folgender Code hat ein Kontextmenu in einem Mainwindow
und gibt beim drücken von 'Test print' in der Dosbox etwas aus....sollte für den Anfang reichen :D

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use Tk;
use strict;

my $mw = MainWindow->new;

my $popup = $mw->Menu(-tearoff => 0);


$popup->command(-label => 'Test print', -command => sub {
print "test\n";
$popup->Unpost;
});

$mw->bind('<ButtonPress-3>', sub {
$popup->Popup(-popover => 'cursor', -popanchor => 'sw');
});

MainLoop;
Kaum macht man es richtig - schon funktioniert es!
alexus-777
 2004-04-22 10:06
#41927 #41927
User since
2004-04-13
121 Artikel
BenutzerIn
[default_avatar]
Danke!
ptk
 2004-04-22 12:50
#41928 #41928
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ist Unpost() unter Windows tatsaechlich notwendig? Auf X11 tut es auch ohne...
Robby
 2004-04-22 13:13
#41929 #41929
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
*ich teste*

ja, ohne Unpost musst Du sonst einmal
irgendwohin klicken bevor Du das Menü wieder
per Rechtsklick bekommst...
komisch komisch....
Kaum macht man es richtig - schon funktioniert es!
ptk
 2004-04-22 13:30
#41930 #41930
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wahrscheinlich liegt das am unterschiedlichen Verhalten von Popups bei X11 und Windows. Bei Windows bleibt das Popupmenue stehen, wenn man auf die rechte Taste klickt, waehrend bei X11 das Menue nur so lange stehen bleibt, wie die rechte Maustaste gedrueckt ist.
use_Tk
 2011-04-10 13:27
#147526 #147526
User since
2011-03-31
15 Artikel
BenutzerIn

user image
Der thread ist zwar schon zimlich alt, aber gibt es eine möglichkleit das das popup dauerhaft offen bleibt (X11) ?

<edit>Und wie kann man einem Popup mehrere Einträge zuweisen?</edit>
<edit2>Und wie kann man mit bind einem Doppelklick eine Funktion zuweisen?</edit2>
Last edited: 2011-04-10 14:00:01 +0200 (CEST)
<< >> 8 Einträge, 1 Seite



View all threads created 2004-04-21 23:11.