QT4 in Verbindung mit Objekt und QT Designer
-
Hallo Zusammen,
ich entwickle meine Anwendung mit dem QT Designer.
Ich setze zusätzliche die QWT Lib und versuche
derzeit den Wert des Objekts zu ändern.Dies mache ich mit
So verwendet ich die Zuweisung in der Routine void MainWindow::UpdateScreens(QString StringName, QString Value) { float temp; temp = Value.toFloat() * 0.1 ; ui.VoltageDisplay->setValue( temp ); break; } // Definition der Klasse class MainWindow : public QMainWindow { Q_OBJECT // Def. wird für moc benötigt public: MainWindow(); // Loadroutine überladen private slots: // Slots für Ereignisse des Fenster void Info_about(); // Info Box , Programm void Info_qt(); // Info Box, qt Meldung void File_Exit(); // Programm wird beendet void UpdateScreens(QString Name, QString Value); void InitHashTable(); // Kommando nach Zahl Tabelle void CommunicationTimer(); // Datenübertragung void TCPIPConnected(); // Verbindung aufgebaut void TCPIPDisConnected(); // Verbindung abgebrochen void TCPIPReadRobyData(); // Lese Daten von Roby void TCPIPDisplayError(QAbstractSocket::SocketError socketError); // Fehlermeldung private: Ui::MainWindow ui; // Fenster Objekt, für QT Designer QTcpSocket *tcpSocket; // Datenübertragungsobjekt für Socket Verbindung QString IPAddress; // IP Adresse der Verbindung quint16 Port; // Portadresse der Verbindung int Connected; // Verbindung vorhanden int WaitingForData; // Warte auf Antwort vom Server (syncrone Verb.) QHash<QString, int> hashTable; // Codetabelle fuer die Kommandos };
Hier noch der Constructor:
/ ************************************************************************** // Init des Fensters // ************************************************************************** MainWindow::MainWindow() { Ui::MainWindow ui; ui.setupUi(this); // Datenübertragungstimer konfiguieren QTimer *timer = new QTimer(this); timer->start(5000); // Update rate 5000 ms connect(timer, SIGNAL(timeout()), this, SLOT(CommunicationTimer())); // Menue Slots setzen ui.actionQuit->setStatusTip(tr("Beendet das Programm")); connect( ui.actionQuit , SIGNAL(triggered()), this, SLOT(File_Exit())); ui.action_aboutProgram->setStatusTip(tr("Zeigt Version Info des Programms an")); connect( ui.action_aboutProgram , SIGNAL(triggered()), this, SLOT(Info_about())); ui.action_aboutQT->setStatusTip(tr("Zeigt Version Info der QT Version an")); connect( ui.action_aboutQT , SIGNAL(triggered()), this, SLOT(Info_qt())); // TCP/IP Variablen vorbereiten IPAddress="192.168.5.200" ; Port = 7; tcpSocket = new QTcpSocket(this); Connected=false; WaitingForData=false; // TCP / IP Slots setzen connect(tcpSocket, SIGNAL(connected()), this, SLOT(TCPIPConnected())); connect(tcpSocket, SIGNAL(disconnected()), this, SLOT(TCPIPDisConnected())); connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(TCPIPReadRobyData())); connect(tcpSocket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(TCPIPDisplayError(QAbstractSocket::SocketError))); InitHashTable(); statusBar()->showMessage(tr("Ready ...")); tcpSocket->connectToHost(IPAddress, Port ); }
Nur leider Crashed die Anwendung bei dieser Zeile.
Ich vermute eine falsche Methode für das Ändern der Eigenschaft von irgend einem Objekt aus der Form.Was mache ich hier falsch ?
Gruss