← All posts tagged Qt

rion

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

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

как это сделать?

rion

хак для активации окна из 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

нарвался на какую-то жуткую черную магию.
был член класса QTimer timer; жил и работал себе припеваючи. но то ли после апдейта мингвы, то ли после апдейта qt до 4.8.3 этот таймер стал отдавать true из isActive почти сразу после создания O_o . при этом start точно нигде не вызывается. в чем прикол я так и не разобрался, но если создавать таймер через new, то бага исчезает.

rion

в очередной раз надумал сделать qtsdk собранный с mingw64.
собственно хочу собрать некоторый минимальный инсталлер годный для сборки. т.е. должен включать в себя все хидеры и наверное мингву до кучи. и должно ставиться в любой каталог.
если у кого-то есть какой-то опыт в этом плане, буду рад если поделитесь.
собственно, некоторое время назад мы в пси+ исследовали эту проблему. выяснилось что сорсы qt-creator включают в себя какие-то тулзы, которые не собираются по-умолчанию, но которые используются в qtsdk инсталлере от нокии.

rion

наткнулся на интересный баг. в одном *.pri файле у меня было DEPENDPATH += $$PWD
при это куте под вин при сборе напрочь забывал добавлять свои -I/path/to/qt/headers

rion

столкнулся со странным глюком. функция tr не робит как и QApplication::translate. тупо не переводит. но не робит только в определенных классах.
например имеется 2 класса, первый наследован от QSystemTrayIcon, второй от QDialog. оба имеют макро Q_OBJECT. вот в первом tr работает, а во втором нет.
или например имеется опять же диалог созданный qt критором. вот в его this->ui перевод работает, а в самом классе диалога — нет.
в чем подвох не пойму..