Thread Widget Variablennamen (30 answers)
Opened by zipster at 2006-05-18 13:18

zipster
 2006-05-22 17:54
#66255 #66255
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
SUPER. Funktioniert einwanfrei.

ABER, ich wollte es jetzt ein wenig umbauen damit ich BrowseEntry usw. auch mitreinnehmen kann.

Bekomme es aber nicht hin.
Was mach ich falsch?

VARNAME.PM
Code: (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
package Tk::Varname;

#
# Copyright (c) 2005 Renee Baecker (module@renee-baecker.de)
#

use strict;
use warnings;

sub Entry{


require Tk;
require Tk::Entry;

our @ISA = qw(Tk::Derived Tk::Entry);
our $VERSION = '0.01';

sub Populate{
my ($cw,$args) = @_;

$cw->SUPER::Populate($args);
$cw->ConfigSpecs(
-varname => ['PASSIVE', 'varname', 'Varname', '' ],
);
return $cw;
}

sub get_varname{
my ($self) = @_;
return $self->cget('-varname');
}

Construct Tk::Widget 'Varname::Entry';
}


Construct Tk::Widget 'Varname';


Testscript
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#! /usr/bin/perl
BEGIN{
push @INC, ( 'lib');
my @filenameparts = split( /\\/, __FILE__ );
my $destination_dir;
$destination_dir .= "$filenameparts[$_]/" for ( 0 .. $#filenameparts - 1 );
chop $destination_dir;
chdir $destination_dir;
}

use Tk;
use Tk::Varname;

my $hauptfenster = new MainWindow( -title => "Plavedo");

my $entry = $hauptfenster->Varname::Entry(-textvariable => \$irgendwas, -varname => "MIAU")->pack();
my $button_neu=$hauptfenster->Button(-text => "Neu", -command => [\&neuer_eintrag])->pack();
MainLoop();
sub neuer_eintrag{
my $info = $entry->cget(-varname);
print $info;

}


Fehler
Quote
Can't locate object method "Entry" via package "Varname" (perhaps you forgot to
load "Varname"?) at D:\Daten\Arbeit\Programmieren\Perl-Scripte\Plavedo TK\zipste
rentry_test.pl line 16.

View full thread Widget Variablennamen