perlqt + update

Alles rund um die Programmierung mit Qt
Antworten
data
Beiträge: 23
Registriert: 22. November 2004 22:33

perlqt + update

Beitrag von data »

hi,

ich erstelle meine qt oberfläche mittel qt-designer und puic.
die erstellte oberfläche nutze ich für mein perl-programm.

... und zwar habe ich ein problem beim aktualisieren (update) einer listbox.

programmstruktur:

avw.pl ---- (1) ---- avw_main.pm ---- (2) ----- new_entry.pm

(1) aufruf:

Code: Alles auswählen

[...]
my $a = Qt::Application(\@ARGV);
my $w = avw_main;
$a->setMainWidget($w);
$w->show;
exit $a->exec;
[....]
modul avw_main.pm ---> (2) ----> new_entry.pm

Code: Alles auswählen

[...]
# (2) aufruf
sub New_Eintrag()
{
    # Dialog zum Hinzufügen laden
    use new_eintrag;
    my $dialog = new_eintrag;
    $dialog->exec();  
}
[...]


# betreffende Funktion zum füllen der ListBox
sub Read_all {
[...]
listBox1->clear();
[...]
listBox1->insertItem( trUtf8("$_->[1] $_->[2]") );
[...]
} # Ende Sub
modul new_entry.pm

Code: Alles auswählen

[...]
Save()
{
    # Daten auslesen
    my @daten = ( name_lineedit->text,
		vorname_lineedit->text,
		geb_lineedit->text,
		strasse_lineedit->text,
		plz_lineedit->text,
		ort_lineedit->text,
		email_lineedit->text,
		tel1_lineedit->text,
		tel2_lineedit->text,
		fax_lineedit->text,
		homepage_lineedit->text ); 
   # Daten speichern
   &::Save(@daten);
   # Anzeige erneuern
   &avw_main::Read_all();
    # Savebutton deaktivieren
   save_button->setDisabled( "bool" );
}
[...]
bei der ausführung des codes (genauer der o.g. funktion im modul new_entry.pm) erhalte ich folgende fehlermeldung:

Code: Alles auswählen

[...]$ ./avw.pl
Can't call method "insertItem" on an undefined value at avw_main.pm line 312.
Mutex destroy failure: Device or resource busy
[...]$
was mache ich falsch, bzw. wie kann ich der listbox mitteilen, dass diese sich aktualisieren soll, wenn die funktion Save ausgeführt wird ???

cu...
daniel


ps: ich hoffe ich hab mich wenigstens halberwegs verständlich ausgedrückt ;)
Antworten