zdravim,jsem zacatecnik v qt a potreboval bych pomoct se sloty. Mam primitivni program s qlineedit do ktereho napisu text,pole qlabel do ktereho se text vypise a tlacitko qpushbutton po jehoz zmacknuti se text vypise do qlabel. vytvoril jsem si na to vlastni slot ktery ten text zkopiruje ale pri zavolani toho slotu se jakoby zrusi ty objekty,nemuze k nim pristoupit a zmenit ten text a skonci to access voilation. prikladam zdrojovy kod,potreboval bych pomoc s tim jak spravne rozdelit soubory,co kam dat ,kam pridat ten slot atd.Dekuju za odpovedi.
program.h:
#ifndef _PROGRAM_H
#define _PROGRAM_H
#include <qapplication.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <qpushbutton.h>
#include <qlayout.h>
class okno:public QWidget
{
Q_OBJECT
public:
okno (QWidget* parent = 0);
private:
QLabel * textik;
QPushButton * tlacitko;
QLineEdit *editbox;
QHBoxLayout * layout;
private slots:
void zmentext ();
};
#endif
program.cpp:
#include "program.h"
okno::okno (QWidget* parent):QWidget (parent)
{
QLabel *textik=new QLabel ("textik co se zmeni");
QPushButton *tlacitko=new QPushButton ("zmen text");
QLineEdit * editbox=new QLineEdit ();
QHBoxLayout * layout=new QHBoxLayout ();
connect (tlacitko,SIGNAL (clicked()),this,SLOT (zmentext()));
layout->addWidget (textik);
layout->addWidget (editbox);
layout->addWidget (tlacitko);
setLayout (layout);
}
void okno::zmentext ()
{
textik->clear(); // zde je problem. pristup tam kam nema.
textik->setText (editbox->text ());
}
main.cpp:
#include "program.h"
int main(int argc, char** argv)
{
QApplication app(argc, argv);
okno okynko;
okynko.show ();
return app.exec();
}