Archiv verlassen und diese Seite im Standarddesign anzeigen : KDE TextEdit einbinden
Ich habe ein Problem beim Einbinden von QTextEdit.
Ich lege mit dem QT Designer ein neues Widget an, binde die Header Dateien Ordnungsgemäß ein, aber wenn ich im Quellcode darauf zugreifen möchte, funktioniert das nicht, er findet kein TextEdit.
Ich habe auch ein paar mal Überprüft, ob der Name richtig geschrieben ist und habe keine Fehler gefunden.
Dann habe ich bei den Linker Optionen gesucht und alle Eingebunden, welche die Header Dateien, die Klassen enthalten könnten. Ich hab dann zum Schluß alle eingebunden, half aber nichts.
Woran kann das liegen ?
anda_skoa
22-10-2002, 18:34
Nochmal Schrittweise:
Du hast im Designer ein QTextEdit verwendet.
Dann hast du von der erzeugten Dialog- oder Widget Klasse eine Klasse abgeleitet und dort im cpp File den qtextedit.h eingebunden.
Und trotzdem findet er ihn nicht?
Welche Qt Version?
Gibt es den Header im Qt Include Verzeichnis?
Ciao,
_
Also, es gibt den Header im Verzeichnis, und ich habe in der cpp den Header eingebunden.
Meine QT Version ist die 3.0.3 und ich verwende SuSE 8.0
Ich kann auf alle anderen Objekte Zugreifen, die Standard Dialoge, LineEdit usw.
Nur auf TextEdit und TextBrowser nicht.
anda_skoa
22-10-2002, 20:04
Kannst du das cpp File posten?
Meckert er beim include?
Normalerweise gibt es eine Fehlermeldung/Warnung des Compilers, wenn er ein include nicht findet.
Der Output vom Compilieren wäre auch hilfreich.
Ciao,
_
#include "hallo.h"
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
Hallo::Hallo(QWidget *parent, const char *name) : Form1(parent, name)
{
}
Hallo::~Hallo()
{
}
/** No descriptions */
void Hallo::newSlot()
{
QFile dateiname("/etc/auto.master");
dateiname.open(IO_ReadOnly);
QTextStream Stromer (&dateiname);
QString teststring = Stromer.readLine();
KTextBrowser1::setSource(Stromer);
//QString _Filename = KFileDialog::getOpenFileName();
}
die Header Dazu :
#ifndef HALLO_H
#define HALLO_H
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <kapp.h>
#include <qwidget.h>
#include <hal.h>
#include <kfiledialog.h>
#include <qpushbutton.h>
#include <ktextbrowser.h>
#include <qfile.h>
#include <qtextstream.h>
/** Hallo is the base class of the project */
class Hallo : public Form1
{
Q_OBJECT
public:
/** construtor */
Hallo(QWidget* parent=0, const char *name=0);
/** destructor */
public slots: // Public slots
/** No descriptions */
void newSlot();
~Hallo();
};
#endif
Und Die Fehlermeldungen :
gmake all-recursive
gmake[1]: Wechsel in das Verzeichnis Verzeichnis »/home/ronny/KDE-Projekte/hallo«
Making all in hallo
gmake[2]: Wechsel in das Verzeichnis Verzeichnis »/home/ronny/KDE-Projekte/hallo/hallo«
source='hallo.cpp' object='hallo.o' libtool=no \
depfile='.deps/hallo.Po' tmpdepfile='.deps/hallo.TPo' \
depmode=gcc /bin/sh ../admin/depcomp \
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/kde3/include -I/usr/lib/qt3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wbad-function-cast -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -O0 -g3 -Wall -fno-exceptions -fno-check-new -c -o hallo.o `test -f hallo.cpp || echo './'`hallo.cpp
hallo.cpp: In method `void Hallo::newSlot()':
hallo.cpp:40: `KTextBrowser1' undeclared (first use this function)
hallo.cpp:40: (Each undeclared identifier is reported only once
hallo.cpp:40: for each function it appears in.)
hallo.cpp:40: parse error before `::'
gmake[2]: Verlassen des Verzeichnisses Verzeichnis »/home/ronny/KDE-Projekte/hallo/hallo«
gmake[2]: *** [hallo.o] Fehler 1
gmake[1]: Verlassen des Verzeichnisses Verzeichnis »/home/ronny/KDE-Projekte/hallo«
gmake[1]: *** [all-recursive] Fehler 1
gmake: *** [all] Fehler 2
*** fehlgeschlagen
anda_skoa
22-10-2002, 20:46
Die Klasse KTextBrowser1 gibt es auch sicher nicht.
Wahrscheinlich meinst du die Instanzvariable KTextBrowser1
KTextBrowser1->setSource(teststring);
Ciao,
_
so funktioniert es leider auch nicht
anda_skoa
22-10-2002, 22:52
Was ist jetzt die Fehlermeldung?
Meine Glaskugel ist leider in der Reinigung :(
Ciao,
_
Ich hab jetzt meinen Fehler rausbekommen, ich habe dem TextBrowser keinen String zugewiesen, sondern einen QTextStream, das war ein ziemlich blöder Fehler und ich bin erst nicht drauf gekommen.
Danke für deine Hilfe.
anda_skoa
23-10-2002, 17:28
Ja, das hat mich schon gewundert.
In meinem, ersten Vorschlag, war das darum schon ausgebessert :)
Ciao,
_
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.