У меня есть два класса в QT, один для создания формы, другой для отправки собранных данных через последовательный порт.Есть кнопка для отправки и отправки информации по последовательному порту.Первый класс «myform» содержит переменную дескриптора файла и функцию слота для кнопки отправки.
class myform: public QWidget
{
Q_OBJECT
private slots:
void submitclicked(void);
public:
myform(QWidget *parent = 0);
// some vars...
QPushButton *submit;
int serialfd;
};
Второй класс "serialcom" наследует первый класс, поскольку я хочу реализовать функцию слота в этом классе "serialcom".
class serialcom : public myform
{
Q_OBJECT
public:
int serialdev_init(void);
serialcom(myform *parent=0);
private:
// some vars...
};
Дескриптор файла serialfd получаетинициализируется в конструкторе для serialcom через serialdev_init ().Я проверил, он правильно инициализирован.Проблема в том, что когда вызывается кнопка SLOT для отправки, serialfd имеет значение мусора (я имею в виду в слоте submitclicked ()), а не инициализированное значение.
Разве это не должно сохранять значение, илия ошибаюсь, чтобы предположить это?Я довольно новичок в этом QT или даже в C ++, поэтому, пожалуйста, помните мои глупости, если таковые имеются ...
Вот основная функция ...
int main(int argc,char **argv)
{
QApplication app(argc,argv);
myform *trial = new myform;
serialcom *serial = new serialcom(trial);
trial->show();
return app.exec();
}
Любые другие предложения такжеприветствуется.