crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

smooky
  опции профиля:
сообщение 28.10.2008, 4:40
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 28.10.2008
Пользователь №: 401

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ну это же какое-то издевательство! :blink:
Ну столько примеров понаписано по этому QT, но всё так тяжело и непривычно, кошмар какойта!!!

1. Как же вывести содержимое QString в stdout та? Ну это же ужос какойта! Мне вот ваще нафиг строки не нужны, а если и нужны, то только для вывода в дебаг... Посути, это самое важное любого стринг класса должно быть...
2. Но зато блин, есть qDebug(const char*, ...), а как из QString получить указатель на char, нигде несказано...

Кароче, кроме как такого огорода, незнаю как: qDebug(str.toString().toStdString().c_str());
Ну и нафига мне такое?! Глаза б мои этот QT не видели...

Блин, бесит, немогу!

P.S. В MFC и то лучше всё и понятней...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 28.10.2008, 8:40
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(smooky @ 28.10.2008, 11:18) *
qDebug() << str; // не работает, говорит что использована но не определена: invalid use of incomplete type QDebug()
кто использована но не определена? Ты можешь конкретное сообщение об ошибке привести?

Цитата(smooky @ 28.10.2008, 11:18) *
void slotProcessError(QProcess::ProcessError); // в A.cpp вот на это орёт, что incomplete struct (хотя это enum)
А я вот не вижу здесь ни какого enum, счего ты взял что это enum. Приведи пример в котором выдается ошибка, я думаю Qt здесь даже близко не причем, все дело в твоих знаниях С++

Цитата(smooky @ 28.10.2008, 11:18) *
3. С сигналами и слотами - там ваще засада просто! :-(
для этого троли написали учебное пособие, пройди его и вопросы начального уровня отпадут.

Цитата(smooky @ 28.10.2008, 11:18) *
P.S. Я никак немогу врубиться, ну как такую ерунду можно навыдумывать та?! Блин, в BOOST и то всё понятней и приятней (хотя библа считается совсем не простой для освоения)...

Я не хвалю MFC, там тоже полно своей кривизны! В дизайне!
может тебе стоило изучать wxWidgets, MFC-подобная библиотека.
Даже
 BEGIN_MESSAGE_MAP
        MESSAGE_HANDLER(WM_DRAWITEM,TMessage,DrawItem)
        MESSAGE_HANDLER(WMESPA_NOTIFY,TMessage,MyNotify)
END_MESSAGE_MAP(Form)

есть точь в точь как в MFC
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
smooky
  опции профиля:
сообщение 28.10.2008, 9:05
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 28.10.2008
Пользователь №: 401

Спасибо сказали: 0 раз(а)




Репутация:   0  


да я бы и не изучал Qt, если бы не приходилось чужой код доделывать, людей, которые недоступны... и непонятно... будут ли вообще доступны... :(

знаний по с++ уверяю тебя достаточно! :-) Мне их вполне хватает, чтобы даже статьи в известный журнал писать! просто в Qt простые вещи сделаны либо слишком сложно, либо далеко неочевидно... Вот и вопрос у меня, зачем так через зад та делать?

1. ладно, с qDebug проехали... спасибо за ответы! но слишком много времени приходится затрачивать на такие простые вещи... (что собственно и вызывает моё недовольство в Qt)... тут и так всё через зад...
2. QProcess вызывает QProcess::error(QProcess::ProcessError error) когда происходит ошибка в процессе (ну или как там принято называть Сигнал)
CODE
// A.h

class QProcess; // forward

class A
{
private:
QProcess * process_;
slots:
// буду связывать с QProcess::error(...)
void slotProcessError(QProcess::ProcessError); // incomplete enum type used

// A.cpp

A::A()
{
process_ = new QProcess(this);
connect(process, SIGNAL(error(QProcess::ProcessError)), this, SLOT(slotProcessError(QProcess::ProcessError)));
}

A::slotProcessError(QProcess::ProcessError e)
{
UNUSED_ALWAYS(e); // простой макрос, чтобы варнинга не было
}

A.h:88: error: 'struct QProcess::ProcessError' not declared
moc_A.cpp: In member function 'virtual int A::qt_metacall(QMetaObject::Call, int, void**)':
moc_A.cpp:78: error: expected type-specifier
moc_A.cpp:78: error: expected `>'
moc_A.cpp:78: error: expected `('
moc_A.cpp:78: error: 'QProcess' incomplete type used.....
moc_A.cpp:78: error: expected primary-expression before ')' token
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Тема закрытаНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 17.7.2025, 19:10