Pull to refresh

Comments 6

У вас в примере:
QVBoxLayout* layout = new QVBoxLayout();
layout << w;
Что-то мне подсказывает что этот код делает не то, что вы думаете он делает. :)
Наверное лучше так:
*layout << w;
Не совсем, так как во второй строке стоит комментарий «Qqt» и используется не указатель, а переменная из строки выше. Надо будет изменить имена переменных в документации, чтобы не возникало таких недоразумений. В Qt обычно всюду нужно использовать переменные через указатели, но классы Qqt выступают как обертки над умными указателями, и основной способ использования — создавать их напрямую (так сделано для краткости). Поэтому чуть выше стоит
VBoxLayout lay(window);
Окей, теперь стало видно.
В исходниках Qqt есть спецификацию __super, как-то не очень кроссплатформенно.
В файле src/preprocessor.h есть макрос:

#ifndef Q_OS_WIN32
#define NEED_SUPER
//MS VC++ under win32 has this;
#endif//Q_OS_WIN32

#ifdef NEED_SUPER
#define MAYBE_SUPER(name) private: typedef name __super;
#else
#define MAYBE_SUPER(name);
#endif//NEED_SUPER

Когда собираю под другими ОС и вижу, что из-за __super не собирается, тогда в заголовочный файл добавляю этот макрос с соответствующим параметром. Lazy редактирование.
Sign up to leave a comment.

Articles