Kleines Qt Tutorial Problem

Verschiedenes zu Qt
Antworten
Pyro
Beiträge: 4
Registriert: 20. Juni 2007 10:10
Kontaktdaten:

Kleines Qt Tutorial Problem

Beitrag von Pyro »

Moin,

ich bin gerade dabei einen kleinen Vortrag über das Signal & Slot Konzept in Qt zu schreiben.
Ich würde gern ein kleines Tutorial mit reinnehmen,
das Auge ißt ja bekanntlich mit :lol:

Leider muss ich zugeben, dass C++ so gar nicht meine Stärke ist
und vielleicht mag einer von Euch mal schnell drüberschauen
und mir beim Fehler helfen.

Hier der Code der Main.cpp:

Code: Alles auswählen

#include "ui_HelpBrowser.h"
#include <QtGui/QtGui>

int main(int argc, char *argv[])
{
	QApplication app(argc, argv);
	app.setQuitOnLastWindowClosed(true);
	
	QMainWindow *form = new QMainWindow;
	Ui::MainWindow ui;
	ui.setupUi(form);
	
	ui.textBrowser->setSource(QString("http://doc.trolltech.com/"));
	
	form->show();
	
	return app.exec();
}
Und hier die Ausgabe:

Code: Alles auswählen

main.cpp: In function `int qMain(int, char**)':
main.cpp:10: error: `MainWindow' is not a member of `Ui'
main.cpp:10: error: expected `;' before "ui"
main.cpp:11: error: `ui' undeclared (first use this function)
main.cpp:11: error: (Each undeclared identifier is reported only once for each f
unction it appears in.)
NMAKE : fatal error U1077: 'g++': R³ckgabe-Code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\
bin\nmake.exe"': R³ckgabe-Code '0x2'
Stop.
Und die Header Datei:

Code: Alles auswählen

/********************************************************************************
** Form generated from reading ui file 'HelpBrowser.ui'
**
** Created: Tue 19. Jun 15:26:54 2007
**      by: Qt User Interface Compiler version 4.3.0
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
********************************************************************************/

#ifndef UI_HELPBROWSER_H
#define UI_HELPBROWSER_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QHBoxLayout>
#include <QtGui/QLineEdit>
#include <QtGui/QMainWindow>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QSpacerItem>
#include <QtGui/QStatusBar>
#include <QtGui/QTextBrowser>
#include <QtGui/QWidget>

class Ui_HelpBrowser
{
public:
    QWidget *centralwidget;
    QTextBrowser *textBrowser;
    QWidget *widget;
    QHBoxLayout *hboxLayout;
    QPushButton *pushButton;
    QPushButton *pushButton_2;
    QLineEdit *lineEdit;
    QWidget *widget1;
    QHBoxLayout *hboxLayout1;
    QSpacerItem *spacerItem;
    QPushButton *QButtonClose;
    QMenuBar *menubar;
    QStatusBar *statusbar;

    void setupUi(QMainWindow *HelpBrowser)
    {
    if (HelpBrowser->objectName().isEmpty())
        HelpBrowser->setObjectName(QString::fromUtf8("HelpBrowser"));
    HelpBrowser->setEnabled(true);
    QSize size(635, 448);
    size = size.expandedTo(HelpBrowser->minimumSizeHint());
    HelpBrowser->resize(size);
    centralwidget = new QWidget(HelpBrowser);
    centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
    textBrowser = new QTextBrowser(centralwidget);
    textBrowser->setObjectName(QString::fromUtf8("textBrowser"));
    textBrowser->setGeometry(QRect(9, 40, 617, 328));
    widget = new QWidget(centralwidget);
    widget->setObjectName(QString::fromUtf8("widget"));
    widget->setGeometry(QRect(9, 9, 617, 25));
    hboxLayout = new QHBoxLayout(widget);
    hboxLayout->setObjectName(QString::fromUtf8("hboxLayout"));
    hboxLayout->setContentsMargins(0, 0, 0, 0);
    pushButton = new QPushButton(widget);
    pushButton->setObjectName(QString::fromUtf8("pushButton"));
    pushButton->setEnabled(false);

    hboxLayout->addWidget(pushButton);

    pushButton_2 = new QPushButton(widget);
    pushButton_2->setObjectName(QString::fromUtf8("pushButton_2"));
    pushButton_2->setEnabled(false);

    hboxLayout->addWidget(pushButton_2);

    lineEdit = new QLineEdit(widget);
    lineEdit->setObjectName(QString::fromUtf8("lineEdit"));

    hboxLayout->addWidget(lineEdit);

    widget1 = new QWidget(centralwidget);
    widget1->setObjectName(QString::fromUtf8("widget1"));
    widget1->setGeometry(QRect(9, 374, 617, 25));
    hboxLayout1 = new QHBoxLayout(widget1);
    hboxLayout1->setObjectName(QString::fromUtf8("hboxLayout1"));
    hboxLayout1->setContentsMargins(0, 0, 0, 0);
    spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

    hboxLayout1->addItem(spacerItem);

    QButtonClose = new QPushButton(widget1);
    QButtonClose->setObjectName(QString::fromUtf8("QButtonClose"));
    QButtonClose->setEnabled(true);

    hboxLayout1->addWidget(QButtonClose);

    HelpBrowser->setCentralWidget(centralwidget);
    menubar = new QMenuBar(HelpBrowser);
    menubar->setObjectName(QString::fromUtf8("menubar"));
    menubar->setGeometry(QRect(0, 0, 635, 21));
    HelpBrowser->setMenuBar(menubar);
    statusbar = new QStatusBar(HelpBrowser);
    statusbar->setObjectName(QString::fromUtf8("statusbar"));
    HelpBrowser->setStatusBar(statusbar);

    retranslateUi(HelpBrowser);
    QObject::connect(pushButton, SIGNAL(clicked()), textBrowser, SLOT(backward()));
    QObject::connect(pushButton_2, SIGNAL(clicked()), textBrowser, SLOT(forward()));
    QObject::connect(textBrowser, SIGNAL(backwardAvailable(bool)), pushButton, SLOT(setEnabled(bool)));
    QObject::connect(textBrowser, SIGNAL(forwardAvailable(bool)), pushButton_2, SLOT(setEnabled(bool)));
    QObject::connect(textBrowser, SIGNAL(highlighted(QString)), lineEdit, SLOT(setText(QString)));
    QObject::connect(QButtonClose, SIGNAL(clicked()), HelpBrowser, SLOT(close()));

    QMetaObject::connectSlotsByName(HelpBrowser);
    } // setupUi

    void retranslateUi(QMainWindow *HelpBrowser)
    {
    HelpBrowser->setWindowTitle(QApplication::translate("HelpBrowser", "HelpBrowser", 0, QApplication::UnicodeUTF8));
    pushButton->setText(QApplication::translate("HelpBrowser", "Backward", 0, QApplication::UnicodeUTF8));
    pushButton_2->setText(QApplication::translate("HelpBrowser", "Forward", 0, QApplication::UnicodeUTF8));
    QButtonClose->setText(QApplication::translate("HelpBrowser", "Close", 0, QApplication::UnicodeUTF8));
    Q_UNUSED(HelpBrowser);
    } // retranslateUi

};

namespace Ui {
    class HelpBrowser: public Ui_HelpBrowser {};
} // namespace Ui

#endif // UI_HELPBROWSER_H

Gruß

Alex
NoobSaibot
Beiträge: 99
Registriert: 27. Januar 2005 15:55

Beitrag von NoobSaibot »

Ui::HelpBrowser müsste es heißen und nicht Ui::MainWindow
Pyro
Beiträge: 4
Registriert: 20. Juni 2007 10:10
Kontaktdaten:

Beitrag von Pyro »

OMG danke :oops:

Jetzt habe ich aber leider eine Meldung, die völlig an mir vorbei geht:

Code: Alles auswählen

        g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-ps
eudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o "debug\HelpBrowser.exe" debug
\main.o  -L"c:\Qt\4.3.0\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot fin
d -lqtmaind
collect2: ld returned 1 exit status
NMAKE : fatal error U1077: 'g++': R³ckgabe-Code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\
bin\nmake.exe"': R³ckgabe-Code '0x2'
Stop.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dann suche doch bite mal nach diesem Fehler hier im Forum (oder erstelle gleich die debug-Libs)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
NoobSaibot
Beiträge: 99
Registriert: 27. Januar 2005 15:55

Beitrag von NoobSaibot »

du benutzt die binär version von Qt, die enthält keine debug bibliotheken. du müßtest Qt kompilieren.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

ich bin gerade dabei einen kleinen Vortrag über das Signal & Slot Konzept in Qt zu schreiben.
Ich würde gern ein kleines Tutorial mit reinnehmen,
das Auge ißt ja bekanntlich mit Laughing

Leider muss ich zugeben, dass C++ so gar nicht meine Stärke ist...
Ist das nicht etwas sehr widersprüchlich?
Pyro
Beiträge: 4
Registriert: 20. Juni 2007 10:10
Kontaktdaten:

Beitrag von Pyro »

upsala hat geschrieben:
ich bin gerade dabei einen kleinen Vortrag über das Signal & Slot Konzept in Qt zu schreiben.
Ich würde gern ein kleines Tutorial mit reinnehmen,
das Auge ißt ja bekanntlich mit Laughing

Leider muss ich zugeben, dass C++ so gar nicht meine Stärke ist...
Ist das nicht etwas sehr widersprüchlich?
Ne nicht wirklich, da ich ja über das Konzept schreibe und nicht über die Implementierung.

Ansonsten habe ich gerade abermals die Debug-Libs erstellt,
leider noch keine Lösung gefunden.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Wenn du die Debug-Libs (ohen Fehler) erstellt hast, wäre auch eine qtmaind.lib in qt-4/lib vorhanden...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Pyro
Beiträge: 4
Registriert: 20. Juni 2007 10:10
Kontaktdaten:

Beitrag von Pyro »

Also nachdem ich nochmal alles übersetzt habe und dann alles beim alten Fehler blieb,
habe ich mich kurzerhand dazu entschlossen Qt und MinGW nochmal zu installieren.
Nun klappt alles, vielen Dank für Eure Mühe :D


Alex
Antworten