Schrift
[thread]10552[/thread]

Menüleiste mit TK



<< >> 8 Einträge, 1 Seite
Mako
 2007-10-10 16:32
#100630 #100630
User since
2007-10-05
31 Artikel
BenutzerIn
[default_avatar]
Hi,
ich bin gerade dabei mir eine Oberfläche zu erzeugen, hab aber ein paar Probleme mit meiner Menüleiste.

1. und zwar möchte ich die checkbuttons (Ansicht) gleich von Anfang an aktiviert haben. Ich hab schon alles ausprobiert, aber irgendwie krieg ichs nicht hin.


2. kann mann die einzelnen Unterpunkte noch irgendwie hervorheben oder sichtlich von anderen Punkten trennen.
Ich würde gerne Trennlinien einfügen (ich hoff ihr wisst was ich meine).

Hier mein Syntax:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/usr/bin/perl -w

use strict;
use Tk;

my $mw = MainWindow->new;
my $toplevel = $mw->toplevel;

# Die Menueleiste wird in den Kopf des Fensters gehaengt
my $menubar = $toplevel->Menu(-type => 'menubar');
$toplevel->configure(-menu => $menubar);

# Nun bauen wir ein Datei-Menue
my $datei = $menubar->cascade(-label => '~Datei',
                              -tearoff => 0);

$datei->command(-label => 'Neu', -command => \&neu);
$datei->command(-label => 'Öffnen...', -command => \&oeffnen);
$datei->command(-label => 'Speichern', -command => \&speicher);
$datei->command(-label => 'Speichern unter...', -command => \&speichernunter);
$datei->command(-label => 'Seitenansicht', -command => \&seitenansicht);
$datei->command(-label => 'Druckereinrichtung...', -command => \&druckereinrichtung);
$datei->command(-label => 'letzte Datei', -command => \&letztedatei);
$datei->command(-label => 'Beenden', -command => [$mw=>'destroy']);

# Nun bauen wir ein Ansicht-Menue
my $ansicht = $menubar->cascade(-label => '~Ansicht',
                              -tearoff => 0);
$ansicht->checkbutton(-label => 'Symbolleiste');        # muss noch activiert werden
$ansicht->checkbutton(-label => 'Statusleiste');        # muss noch activiert werden

# Nun bauen wir ein Datensatz-Menue
my $datensatz = $menubar->cascade(-label => '~Datensatz',
                              -tearoff => 0);

$datensatz->command(-label => 'hinter Liste', -command => \&hinterliste);
$datensatz->command(-label => 'vor Liste', -command => \&vorliste);
$datensatz->command(-label => 'hinter Datensatz', -command => \&hinterdatensatz);
$datensatz->command(-label => 'vor Datensatz', -command => \&vordatensatz);
$datensatz->command(-label => 'Bearbeiten', -command => \&bearbeiten);
$datensatz->command(-label => 'Löschen', -command => \&loeschen);


# Nun bauen wir ein Modellschneider-Menue
my $Modellschneider = $menubar->cascade(-label => '~Modellschneider',
                              -tearoff => 0);

$Modellschneider->command(-label => 'Initialisieren', -command => \&init_mde);
$Modellschneider->command(-label => 'Zurücksetzen auf Nullpunkt', -command => \&backtoZ);
$Modellschneider->command(-label => 'Schneiden', -command => \&cut);
$Modellschneider->command(-label => 'Modellparameter', -command => \&modpar);

# Nun bauen wir ein ?-Menue
my $info = $menubar->cascade(-label => '~?',
                              -tearoff => 0);

$info->command(-label => 'Info über Modelldesigner...', -command => \&info);


MainLoop;


##############
#
# Subroutines
#
##############

sub neu {}
sub oeffnen {}
sub speichern {}
sub speichernunter {}
sub seitenansicht {}
sub druckereinrichtung {}
sub letztedatei {}
sub hinterliste {}
sub vorliste {}
sub hinterdatensatz {}
sub vordatensatz {}
sub bearbeiten {}
sub loeschen {}
sub init_mde {}
sub backtoZ {}
sub cut {}
sub modpar {}
sub info {}


wär super falls einer von euch nen kleinen Tipp für mich hat.


Danke!
renee
 2007-10-10 17:11
#100632 #100632
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zu 2:
Code (perl): (dl )
  $menu->separator();
an die Stelle, wo die Trennlinie auftauchen soll. Statt $menu halt das Menü, in dem die Trennlinie erscheinen soll...

Zu 1: Meinst Du
Code (perl): (dl )
1
2
3
4
5
use Tk;
my $mw = tkinit;
my $val = 1;
$mw->Checkbutton( -variable => \$val )->pack;
MainLoop;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
ptk
 2007-10-10 21:19
#100642 #100642
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Übrigens kannst du für das Aufbauen einer Menüstruktur auch die -menuitems-Syntax verwenden. Beispiele dafür gibt es bei perldoc Tk::Menu::Item und in der widget-Demonstration ("As above, but using Perl/Tk -menuitems.").
Mako
 2007-10-11 15:31
#100674 #100674
User since
2007-10-05
31 Artikel
BenutzerIn
[default_avatar]
Super hat alles funktioniert, Danke.

Aber ich hätt schon wieder eine neue Frage:
und zwar möchte ich so einen toolbar einfügen, wie man sie von jedem Windowsfenster kennt.
Dazu hätte ich schon Bilder von zusammenhängen icons.

Aber um das zu verwenden müsste ich auf dieses Bild durchsichtige Buttons anbringen, damit man das Bild darunter noch lesen kann.

Geht das überhaupt, oder müsste ich einzelne Buttons mit Bildern einfügen.
Also folglich dieses Bild von meinem toolbar zerschneiden und die einzelnen Teile mit Buttons verbinden.

Danke!
ptk
 2007-10-11 22:43
#100706 #100706
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Zerschneiden ist wohl am einfachsten.
renee
 2007-10-11 23:34
#100708 #100708
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
... und am praktischsten, falls die Toolbar mal geändert werden soll!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pktm
 2007-10-12 20:10
#100777 #100777
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Mako+2007-10-11 13:31:59--
Super hat alles funktioniert, Danke.

Aber ich hätt schon wieder eine neue Frage:
und zwar möchte ich so einen toolbar einfügen, wie man sie von jedem Windowsfenster kennt.
Dazu hätte ich schon Bilder von zusammenhängen icons.

Aber um das zu verwenden müsste ich auf dieses Bild durchsichtige Buttons anbringen, damit man das Bild darunter noch lesen kann.

Geht das überhaupt, oder müsste ich einzelne Buttons mit Bildern einfügen.
Also folglich dieses Bild von meinem toolbar zerschneiden und die einzelnen Teile mit Buttons verbinden.

Danke!


Es gibt da CPAN:Tk::ToolBar, eventuell gefällt dir das :)
http://www.intergastro-service.de (mein erstes CMS :) )
Mako
 2007-10-15 11:00
#100812 #100812
User since
2007-10-05
31 Artikel
BenutzerIn
[default_avatar]
sehr schön, hab ich gleich eingebaut.

danke
<< >> 8 Einträge, 1 Seite



View all threads created 2007-10-10 16:32.