Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt] Nie widzi nazwy programu .

Ostatnio zmodyfikowano 2012-05-10 20:01
Autor Wiadomość
szymx
Temat założony przez niniejszego użytkownika
[Qt] Nie widzi nazwy programu .
» 2012-05-10 18:33:08
Może najpierw zacznę od kodu :
main.cpp
C/C++
#include <QtGui>
#include <iostream>
#include "oknogl.hpp"


int main( int argc, char * argv[] )
{
    Q_INIT_RESOURCE( pliki );
    QApplication program( argc, argv );
    QTextCodec::setCodecForCStrings( QTextCodec::codecForName( "UTF-8" ) );
   
   
    oknogl okno;
    okno.show();
   
   
    return program.exec();
}

oknogl.cpp

C/C++
#include "oknogl.hpp"
#include "QtGui"

oknogl::oknogl()
{
    setGeometry( 100, 100, 500, 400 );
    setWindowTitle( "Kalkulator" );
    setWindowIcon( QIcon( ":/zdjęcia/windows.png" ) );
    przycisk = new QPushButton( "zamknij", this );
    przycisk->setGeometry( 200, 350, 100, 50 );
    przycisk->setIcon( QIcon( ":/zdjęcia/exit.png" ) );
    etykieta = new QLabel( "Witaj w moim koszmarze ! ", this );
    etykieta->setGeometry( 200, 100, 200, 200 );
    connect( & przycisk, SIGNAL( clicked() ), program, SLOT( quit ) );
   
   
}

oknogl.hpp

C/C++
#ifndef oknogl_HPP
#define oknogl_HPP

#include <QtGui>
#include <QApplication>


using namespace std;



class oknogl
    : public QMainWindow
{
public:
    oknogl();
private:
    QPushButton * przycisk;
    QLabel * etykieta;
   
};

#endif // oknogl_HPP

Zacząłem się uczyć QT bo zainstalowałem Kubuntu napisałem już parę prostych programów w jednym pliku . Ale jak wiadomo zawsze warto na parę mniejszych podzielić . Daję przycisk kompilacji i budowanie (QT creator Linuxowy ) i otrzymuję komunikat 'program' was not declared in this scope . Ma ktoś pomysł jak to zaradzić ? Bo próbowałem już wszystkiego ,  a Herr Onkel Google nie zna na to odpowiedzi .
P-56398
m4tx
» 2012-05-10 18:38:51
Musisz dać w oknogl.hpp wskaźnik do program, a w main.cpp mu przypisać wartość. Po prostu funkcja w oknogl.cpp "nie widzi" zmiennej program, ponieważ jest w innym pliku, w dodatku jest to zmienna lokalna...
P-56399
szymx
Temat założony przez niniejszego użytkownika
» 2012-05-10 20:01:04
Dzięki zabieram się za pisanie tego wskaźnika .
Edited :
Napisałem ten wskaźnik ale wywala teraz że nie ma pasującej funkcji :
oknogl.cpp

#include "oknogl.hpp"
#include "QtGui"
 oknogl::oknogl()
{
     setGeometry(100,100,500,400);
setWindowTitle("Kalkulator");
setWindowIcon(QIcon(":/zdjęcia/windows.png") );
przycisk = new QPushButton("zamknij" , this ) ;
przycisk->setGeometry(200,350,100,50);
przycisk->setIcon(QIcon(":/zdjęcia/exit.png" ));
etykieta = new QLabel("Witaj w moim koszmarze ! " , this ) ;
etykieta->setGeometry(200,100,200,200);
connect (przycisk , SIGNAL(clicked()) ,  * Qprogram , SLOT(quit)) ;


}
oknogl.hpp

#ifndef oknogl_HPP
#define oknogl_HPP

#include <QtGui>
#include <QApplication>


using namespace std ;
extern QApplication * Qprogram  ;


class oknogl :  public QMainWindow
{
public:
   oknogl();
private:
   QPushButton *przycisk ;
 QLabel *etykieta ;

};

#endif // oknogl_HPP

main.cpp



#include <QtGui>
#include <iostream>
#include "oknogl.hpp"


int main(int argc , char *argv[] )
{
   Q_INIT_RESOURCE(pliki);
QApplication program(argc, argv);
 Qprogram = &program ;


QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));


oknogl okno ;
okno.show(  ) ;


return  program.exec() ;
}
P-56405
« 1 »
  Strona 1 z 1