← All posts tagged Qt

rion
programming Qt столкнулся в точности с той же проблемой, что описана здесь linux.org.ru .

если вкратце, то в item view редактор имеет больший размер чем просто отрисовка. и надо как-то вовремя ресайзить айтем при переходе в режим редактирования.

как это сделать?
rion
KDE code hack Qt
хак для активации окна из qt приложения, ну когда ну очень хочется. немного каряво, но пускай каждый сам переделывает на свой вкус.

                if (qgetenv("DESKTOP_SESSION") == "kde-plasma") {
                    QLibrary kdeui("/usr/lib/libkdeui.so.5.8.0");
                    if (!kdeui.load()) { qDebug("Failed to load library"); }
                    typedef int (*ActWinFunction)(WId, long);
                    ActWinFunction kwinActivateWindow = (ActWinFunction)kdeui.resolve("_ZN13KWindowSystem17forceActiveWindowEml");
                    if (kwinActivateWindow) {
                        kwinActivateWindow(w->winId(), 0);
                        qDebug("kwin activated!");
                    } else {
                        qDebug("failed to resolve symbol");
                    }
                }
rion
Qt хех объявил шаблонный класс унаследованный от QObject. сборка ругается типа шаблонный классы не могут быть c Q_OBJECT.
убираю Q_OBJECT. сборка опять ругается типа нет Q_OBJECTа.
rion
Qt компилю релиз qt-5. теперь для сборки кроме перла и петона требуется ещё и руби :-D

отсыпьте и мне этой травы немножко ))
rion
Qt нарвался на какую-то жуткую черную магию.
был член класса QTimer timer; жил и работал себе припеваючи. но то ли после апдейта мингвы, то ли после апдейта qt до 4.8.3 этот таймер стал отдавать true из isActive почти сразу после создания O_o . при этом start точно нигде не вызывается. в чем прикол я так и не разобрался, но если создавать таймер через new, то бага исчезает.
rion
Qt mingw64 в очередной раз надумал сделать qtsdk собранный с mingw64.
собственно хочу собрать некоторый минимальный инсталлер годный для сборки. т.е. должен включать в себя все хидеры и наверное мингву до кучи. и должно ставиться в любой каталог.
если у кого-то есть какой-то опыт в этом плане, буду рад если поделитесь.
собственно, некоторое время назад мы в пси+ исследовали эту проблему. выяснилось что сорсы qt-creator включают в себя какие-то тулзы, которые не собираются по-умолчанию, но которые используются в qtsdk инсталлере от нокии.
rion
bug Qt наткнулся на интересный баг. в одном *.pri файле у меня было DEPENDPATH += $$PWD
при это куте под вин при сборе напрочь забывал добавлять свои -I/path/to/qt/headers
rion
Qt если вдруг кому нужно, написал обновлялку rion-pg.googlecode.com , которую можно встроить в какоенить приложение.
умеет чекать обновления, показывать диалог для загрузки и собственно скачивать обновления
rion
Qt чет какие-то убогие в куте регулярки. lookbehind не поддерживается. lookahead не понимает повторяющиеся паттерны.
rion
Qt internationalization столкнулся со странным глюком. функция tr не робит как и QApplication::translate. тупо не переводит. но не робит только в определенных классах.
например имеется 2 класса, первый наследован от QSystemTrayIcon, второй от QDialog. оба имеют макро Q_OBJECT. вот в первом tr работает, а во втором нет.
или например имеется опять же диалог созданный qt критором. вот в его this->ui перевод работает, а в самом классе диалога — нет.
в чем подвох не пойму..