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;
[....]
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
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" );
}
[...]
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
[...]$
cu...
daniel
ps: ich hoffe ich hab mich wenigstens halberwegs verständlich ausgedrückt