qDebug() << QString |
Здравствуйте, гость ( Вход | Регистрация )
qDebug() << QString |
smooky |
28.10.2008, 4:40
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 28.10.2008 Пользователь №: 401 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ну это же какое-то издевательство!
Ну столько примеров понаписано по этому 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, 7:21
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
ничего не понял. smooky, бери себя в руки и объясни толком, что тебе нужно.
Если нужна отладка, то делай так:
все! P.S. В MFC и то лучше всё и понятней... qDebug(str.toString().toStdString().c_str()); Если тебя этому MFC научил, то конечно Qt осваивать будет тяжко, т.к. строку str преобразовывать к строке излишне.
|
|
|
smooky |
28.10.2008, 8:18
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 28.10.2008 Пользователь №: 401 Спасибо сказали: 0 раз(а) Репутация: 0 |
1. если вот так:
и как быть? С incomplete class/struct - это постоянные мучения в QT - это отдельная песня (один сплошной гемор)!!! Но это ладно, я уже привык, справляюсь! 2. Но непонятно, как быть тут: // A.h
3. С сигналами и слотами - там ваще засада просто! :-( P.S. Я никак немогу врубиться, ну как такую ерунду можно навыдумывать та?! Блин, в BOOST и то всё понятней и приятней (хотя библа считается совсем не простой для освоения)... Я не хвалю MFC, там тоже полно своей кривизны! В дизайне! Но там по крайней мере просто и понятно! И с++! Ну тут же, уже какойта не с++, а чтото своё навыдумывали!
Причина редактирования: используем тэг code=cpp
|
|
|
molchanoviv |
28.10.2008, 8:19
Сообщение
#4
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
Если тебе не нравится Qt то зачем ты его изучаешь?
1. Ты какие заголовочные файлы подключаешь? 2. Из псевдокода мало что понятно, но все-же: лучше пока напиши #include <QProcess> вместо class QProcess. будешь немного лучше понимать Qt будешь писать так. а пока лучше последуй моему совету. 3. А что не понятно с сигналами и слотами? Там же все элементарно. Да литература которую я советую тебе почитать: Бланшет и Саммерфилд "Программирование GUI на С++" и Макс Шлее "Профессиональное программирование на С++ с использованием Qt4" Сообщение отредактировал molchanoviv - 28.10.2008, 8:21 |
|
|
Litkevich Yuriy |
28.10.2008, 8:40
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
qDebug() << str; // не работает, говорит что использована но не определена: invalid use of incomplete type QDebug() кто использована но не определена? Ты можешь конкретное сообщение об ошибке привести?void slotProcessError(QProcess::ProcessError); // в A.cpp вот на это орёт, что incomplete struct (хотя это enum) А я вот не вижу здесь ни какого enum, счего ты взял что это enum. Приведи пример в котором выдается ошибка, я думаю Qt здесь даже близко не причем, все дело в твоих знаниях С++3. С сигналами и слотами - там ваще засада просто! :-( для этого троли написали учебное пособие, пройди его и вопросы начального уровня отпадут.P.S. Я никак немогу врубиться, ну как такую ерунду можно навыдумывать та?! Блин, в BOOST и то всё понятней и приятней (хотя библа считается совсем не простой для освоения)... может тебе стоило изучать wxWidgets, MFC-подобная библиотека.Я не хвалю MFC, там тоже полно своей кривизны! В дизайне! Даже
есть точь в точь как в MFC |
|
|
smooky |
28.10.2008, 9:05
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 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 |
|
|
AD |
28.10.2008, 9:13
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Такое ощущение, что <QProcess> забыл подключить! Проверь подключение этого файла.
|
|
|
ViGOur |
28.10.2008, 9:21
Сообщение
#8
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
smooky, после MFC мне тоже было сложновато переключится на Qt, но когда поработал с ним, то стал считать, что Qt лучше и продуманней чем MFC. Но это только вступление...
Скажи, а откуда в A.h может знать, что из себя представляет QProcess::ProcessError, если у тебя класс QProcess только объявлен? |
|
|
Litkevich Yuriy |
28.10.2008, 9:24
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Скажи, а откуда в A.h может знать, что из себя представляет QProcess::ProcessError, если у тебя класс QProcess только объявлен? да ему уже все про это сказали:лучше пока напиши #include <QProcess> вместо class QProcess. А я вот не вижу здесь ни какого enum, счего ты взял что это enum. Такое ощущение, что <QProcess> забыл подключить! Проверь подключение этого файла. А он не в какую |
|
|
Гость_Гость_* |
28.10.2008, 9:47
Сообщение
#10
|
Гости |
Не, не могу сегодня уже решать сие задачу! 2-ое суток неспамши за компом... не могу сообразить...
Временно пока сделал заглуху, на чистом C написал функцию... быстро и работает... Но вывод сделал один: карочи, кто хочет осложнить себе жизнь и другим, начните изучать и применять Qt!!! Гемор и бессоные ночи вам обеспечены! |
|
|
Текстовая версия | Сейчас: 28.3.2024, 18:18 |