Russian Qt Forum
Ноябрь 22, 2024, 23:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: публичные переменные  (Прочитано 15979 раз)
StatuS74
Гость
« Ответ #15 : Май 11, 2011, 08:28 »

GreatSnake может хватит тут флудить.
Записан
mutineer
Гость
« Ответ #16 : Май 11, 2011, 08:30 »

Без кода тебе вряд ли тут нормально смогут помочь
Записан
StatuS74
Гость
« Ответ #17 : Май 11, 2011, 08:32 »

код класса
Код:
#ifndef CONNECT_ADAPTERAPN1444_H
#define CONNECT_ADAPTERAPN1444_H
#include <QWidget>
# include "qstring.h"
#include "ui_connect_adaptera.h"
namespace Ui {
    class connect_adaptera;
}
class connect_adaptera: public QWidget,public Ui::connect_adaptera
{
Q_OBJECT

public:
explicit connect_adaptera(QWidget* parent = 0);
~connect_adaptera();

public:
    Ui::connect_adaptera *ui_m;
    int bit; qulonglong speed; int stopBit; QString chetnost[10];

private slots:
    void on_pushButton_2_clicked();
    void on_pushButton_clicked();
};

QT_END_NAMESPACE
#endif // CONNECT_ADAPTERAPN1444_H
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #18 : Май 11, 2011, 08:34 »

Цитата: StatuS74
GreatSnake может хватит тут флудить.
Нет не хватит.
У тебя отсутствуют базовые знания, а ты не желая заняться самообразованием сразу лезешь в профессиональный форум.
Конечно, зачем тебе читать книжки, смотреть описание классов в ассистенте, ведь намного проще взять да спросить.
Порочная, однако, практика Грустный
Записан

Qt 5.11/4.8.7 (X11/Win)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #19 : Май 11, 2011, 08:47 »

StatuS74, конечно сказанное GreatSnake звучит высокомерно и обидно (нехорошо клевать новичка), но по существу он прав, любой форум не предназначен для изучения базовых основ. Почитайте любую книгу по С++ (а еще лучше по С) - это нетрудно и интересно.
Записан
Nimbus
Гость
« Ответ #20 : Май 11, 2011, 08:50 »

я с++ на среднем уровне знаю. а так на си шарпе работаю но начальник выдал задачу для реализации на Qt
Я тоже на сишарпе работаю (а по ночам сижу в инете с красными глазами и восхваляю OpenSource  Смеющийся ). Только вот, шарпом лучше всего пользоваться ПОСЛЕ полного познания C++, а иначе фигня выйдет.
А насчёт ошибки collect2: ld returned 1 exit status - она возникает во многих случаях, когда компилятору чего-то не хватает, либо он что-то не может сделать (например, если исполняемый модуль ещё висит в процессах, а вы его пытаетесь перезаписать на диске, либо не хватает каких-то реализаций объявленных методов класса. если пользуетесь Qt Creator, то можете посмотреть ошибку в консоли сборки - там полностью весь вывод сборщика и мока.
« Последнее редактирование: Май 11, 2011, 08:55 от JC » Записан
StatuS74
Гость
« Ответ #21 : Май 11, 2011, 08:50 »

я бланша читаю в данный момент. а что вы хотели от студента Непонимающий очень крутых знаний ? я и пошол работать что бы не делать  дурацких лаб. но всеже из за чего ошибка error: collect2: ld returned 1 exit status. не пойму в интернете читал методы исправления не помгло.
Записан
Nimbus
Гость
« Ответ #22 : Май 11, 2011, 08:53 »

я бланша читаю в данный момент. а что вы хотели от студента Непонимающий очень крутых знаний ? я и пошол работать что бы не делать  дурацких лаб. но всеже из за чего ошибка error: collect2: ld returned 1 exit status. не пойму в интернете читал методы исправления не помгло.
Весь текст из консоли сборки сюда запостите
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #23 : Май 11, 2011, 08:54 »

конечно сказанное GreatSnake звучит высокомерно и обидно (нехорошо клевать новичка)
Согласен, малость переборщил. Но, блин, спрашивал бы в соответстующих ветках форума, к нему бы и относились бы по-другому.
А то сразу в GUI...
Записан

Qt 5.11/4.8.7 (X11/Win)
StatuS74
Гость
« Ответ #24 : Май 11, 2011, 08:54 »

mingw32-make: Leaving directory `C:/Qt/2010.05/test_adaptera-build-desktop'

debug/moc_connect_adaptera.o:C:\Qt\2010.05\test_adaptera-build-desktop/debug/moc_connect_adaptera.cpp:76: undefined reference to `connect_adaptera::on_pushButton_2_clicked()'

collect2: ld returned 1 exit status

mingw32-make[1]: *** [debug\test_adaptera.exe] Error 1

mingw32-make: *** [debug] Error 2

Процесс "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" завершился с кодом %2.
Возникла ошибка при сборке проекта test_adaptera (цель: Настольный компьютер)
Во время выполнения сборки на этапе "Сборка"
Записан
Nimbus
Гость
« Ответ #25 : Май 11, 2011, 08:56 »

undefined reference to `connect_adaptera::on_pushButton_2_clicked()
Это значит, что этот метод у вас объявлен в .h, но в .cpp нет его реализации
Записан
StatuS74
Гость
« Ответ #26 : Май 11, 2011, 09:00 »

а понял. это я перемудрил. кнопки сначало 2 было потом я удалил а не затер в слотах.

спасибо всем
« Последнее редактирование: Май 11, 2011, 09:12 от StatuS74 » Записан
ieroglif
Гость
« Ответ #27 : Май 11, 2011, 09:50 »

код класса
Код:
#ifndef CONNECT_ADAPTERAPN1444_H
#define CONNECT_ADAPTERAPN1444_H
#include <QWidget>
# include "qstring.h"
#include "ui_connect_adaptera.h"
namespace Ui {
    class connect_adaptera;
}
class connect_adaptera: public QWidget,public Ui::connect_adaptera
{
Q_OBJECT

public:
explicit connect_adaptera(QWidget* parent = 0);
~connect_adaptera();

public:
    Ui::connect_adaptera *ui_m;
    int bit; qulonglong speed; int stopBit; QString chetnost[10];

private slots:
    void on_pushButton_2_clicked();
    void on_pushButton_clicked();
};

QT_END_NAMESPACE
#endif // CONNECT_ADAPTERAPN1444_H
объяви каждую переменную с отдельной строки.
я уже не помню где меня это настигло, то ли в виндовом компиляторе, то ли в линуховом, но один из них никак не хотел воспринимать объявления нескольких переменных в одну строку.
кроме того:
1. # include "qstring.h"
просто #include <QString>
если подключаемый путь пишется в <> - то ищется в PATH, если в "" - то в директории проекта
2. QString chetnost[10]; - ты создаёшь массив из 10и QString-ов? или хочешь переменную типа QString длинной в 10 символов? если второе, то ты не прав =) QString - это Qt класс для строковых данных и длину ему указывать не обязательно =)

3.4.и т.д - уже просто из "рекомендаций"
объявляй все переменные в private или protected разделе. в public выноси get/set методы для каждой переменной. пусть это занимает какое-то время, зато код становится более... хм.. "правильным" =)
что у тебя происходит с классом? он у тебя и наследуется от Ui::connect_adaptera, содержит у себя объект Ui::connect_adaptera *ui_m; - это как? .. причём содержит в public разделе, а значит к нему сможет обратиться кто угодно.
опять же, из раздела "рекомендаций" - убери наследование, переведи переменную в private, и создай слоты/сигналы/методы для получения каких-то свойств из гуя. тем самым ты будешь предоставлять "наружу" не весь свой гуй, а только то, что от него надо, и это будет более безопасно - никакие другие объекты не смогут случайно сделать то, чего не надо.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #28 : Май 11, 2011, 09:54 »

Цитата: ieroglif
если подключаемый путь пишется в <> - то ищется в PATH, если в "" - то в директории проекта
Ну и зачем советуешь то, в чём сам не разбираешься?
Записан

Qt 5.11/4.8.7 (X11/Win)
ieroglif
Гость
« Ответ #29 : Май 11, 2011, 10:02 »

Цитата: ieroglif
если подключаемый путь пишется в <> - то ищется в PATH, если в "" - то в директории проекта
Ну и зачем советуешь то, в чём сам не разбираешься?
аааа.. ты всё необоснованно критикуешь  Улыбающийся когда же уже начнёшь вместо критики и смуты вносить ясность?
я уж не знаю в чём я по твоему разбираюсь или не разбираюсь, но у меня работает именно так.
так что с необоснованной критикой можешь идти далеко и на долго.
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.056 секунд. Запросов: 23.