[gelöst] QMessageBox muss ich 2 mal bestätigen

Alles rund um die Programmierung mit Qt
Antworten
imbiss
Beiträge: 20
Registriert: 17. Oktober 2005 20:04

[gelöst] QMessageBox muss ich 2 mal bestätigen

Beitrag von imbiss »

Erst mal ein dickes lob an dieses forum.
Nun meine frage
Die Messagebox funktioniert, aber ich muss 2 mal auf OK clicken bis sie sich wieder schließt.
Ist das normal oder kann man es auch auf 1 mal clicken begrenzen.

MFG
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Das ist beinahe nicht möglich. Ich denke da eher daran, dass die MessageBox auch 2mal ausgeführt wird. Poste mal bitte das Code Segment dazu.
imbiss
Beiträge: 20
Registriert: 17. Oktober 2005 20:04

Beitrag von imbiss »

QString temp = lineEdit6->text();
QString temp1 = lineEdit5->text();
if (temp1 != temp) {
QMessageBox::warning( this, "ERROR",
"text \n"
"text." );
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Äh, ok, das reicht leider nicht. Wie rufst du das denn auf? Mit textChanged() oder irgendeinem anderen SLOT?
imbiss
Beiträge: 20
Registriert: 17. Oktober 2005 20:04

Beitrag von imbiss »

sorry

void test1::testSlot()
{
QString temp = lineEdit6->text();
QString temp1 = lineEdit5->text();
if (temp1 != temp) {
QMessageBox::warning( this, "ERROR",
"text \n"
"text." );
}
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Bei Qt4 gibt es zumindest einen bekannten Bug, durch den ein Signal doppelt gesendet wird. Ich habe es auch schon mal, bei dynamisch erstellten Connects, geschafft, das ich eine Meldung immer öfter wegklicken mußte. Es kann also vieles sein, da muß schon mehr Code her.
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Ok, damit nehme ich einmal an, dass es ein SLOT ist, und wie genau, bzw. wann genau wird denn jetzt dieser SLOT aufgerufen? Poste mal bitte den ganzen Rest und mache den Code vielleicht auch in so [code][/code] Tags, damit er lesbar bleibt.
imbiss
Beiträge: 20
Registriert: 17. Oktober 2005 20:04

Beitrag von imbiss »

*****************************************************************************/
#include <qvariant.h>
#include <qwidget.h>
#include <qfile.h>
#include <qtextstream.h>
#include <qtextedit.h>
#include <qcombobox.h>
#include <qprocess.h>
#include <qstring.h>
#include <qobject.h>
#include <qprocess.h>
#include <qmessagebox.h>

void test1::testSlot()
{
QString temp = lineEdit6->text();
QString temp1 = lineEdit5->text();
if (temp1 != temp) {
QMessageBox::warning( this, "ERROR",
"text \n"
"text." );

} else {
QProcess *process = new QProcess(this);
process->addArgument("ls");
process->addArgument("-l");
process->addArgument("/etc");
process->addArgument(temp);
process->start();
QByteArray data = process->readStdout();
QString text = lineEdit4->text() + QString(data);
lineEdit4->setText(text);
QFile f ("/temp/test.txt");
QTextStream textStream (&f);
f.open (IO_WriteOnly);
textStream << (text );
f.close ();
}
}
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Ja, gut das ist der restliche Code vom SLOT selbst. Aber wie wird denn der SLOT nun aufgerufen? Da du zwei Eingabefelder hast, nehme ich an, dass er bei dem ersten und bei dem zweiten Eingabefeld jeweils eine Prüfung macht, was dann eine Erklärung wäre, warum die MessageBox zweimal kommt.
imbiss
Beiträge: 20
Registriert: 17. Oktober 2005 20:04

Beitrag von imbiss »

benutze Qt 3.3.4
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

*lol* :D
Das is ja mal wieder ein Klasse Thread *amuesier*

Sorry imbiss, nix gegen Dich, aber du musst vor dem Posten besser lesen :)

Goos
imbiss
Beiträge: 20
Registriert: 17. Oktober 2005 20:04

Beitrag von imbiss »

oh man bin ich naja danke mal wieder für den hinweis hatte den connect 2 mal.
tut mir echt leid um eure zeit, ihr seit echt toll.
MFG
imbiss
Beiträge: 20
Registriert: 17. Oktober 2005 20:04

Beitrag von imbiss »

ok gelobe besserung
Antworten