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

[QT 5.5.1] TextEdit i Przycisk button

Ostatnio zmodyfikowano 2017-04-08 21:30
Autor Wiadomość
wojownik266
Temat założony przez niniejszego użytkownika
[QT 5.5.1] TextEdit i Przycisk button
» 2017-04-08 12:20:34
Czy ktoś mógłby powiedzieć dlaczego po naciśnięciu przycisku "Pokaz text" nic się nie dzieje?
C/C++
#include <QApplication>
#include <QTextEdit>
#include <QPushButton>
#include <QWidget>


class CProgram
    : public QWidget
{
   
public:
    CProgram( QWidget * parent );
   
public slots:
    void pokaz_text();
private:
    QTextEdit * tex;
    QPushButton * buton;
   
};
CProgram::CProgram( QWidget * parent = 0 )
    : QWidget( parent )
{
    tex = new QTextEdit( this );
    buton = new QPushButton( "POKAZ TEXT", this );
    tex->setGeometry( 5, 5, 200, 150 );
    buton->setGeometry( 100, 160, 100, 20 );
   
    QObject::connect( buton, SIGNAL( clicked() ), tex, SLOT( pokaz_text() ) );
}
void CProgram::pokaz_text()
{
    tex->setText( "kkkk" );
}

int main( int argc, char * argv[] )
{
    QApplication a( argc, argv );
    CProgram cpr;
    cpr.show();
    return a.exec();
}
P-159975
maly7
» 2017-04-08 12:42:24
Funckja (a raczej metoda) pokaz_text jest metodą klasy CProgram, dlatego powinieneś zrobić tak:
QObject::connect( buton, SIGNAL( clicked() ), this, SLOT( pokaz_text() ) );


tex musiałbyś wstawić, gdybyś chciał wykonać metodę QTextEdit, np. hide()
QObject::connect( buton, SIGNAL( clicked() ), tex, SLOT( hide() ) );
P-159976
wojownik266
Temat założony przez niniejszego użytkownika
» 2017-04-08 17:36:27
Z problemem poradziłem sobie w ten sposób że napisałem ten program jeszcze raz ale z rozdzieleniem klasy na dwa pliki plik.h i plik.cpp. Dlaczego program z klasą "globalną" nie działa a z klasą dwu plikowa już tak, pozostanie dla mnie zagadką chyba że ktoś coś wie i napisze dlaczego tak i dlaczego nie?
P-159992
mateczek
» 2017-04-08 20:53:14
przede-wszystkim brak makra Q_OBJECT bez tego sygnały i sloty nie działają !!!

Do tego klasa musi dziedziczyć minimum po object.
P-159995
wojownik266
Temat założony przez niniejszego użytkownika
» 2017-04-08 21:30:13
W nowym programie dodałem to wszystko o czym mowa  plus w SIGNAL funkcje presed. Miłego dnia!
P-159999
« 1 »
  Strona 1 z 1