Просмотр сообщений
|
Страниц: 1 ... 52 53 [54] 55 56 ... 58
|
796
|
Программирование / Python / Re: [Решено] Сборка PythonQt под Windows
|
: Декабрь 23, 2012, 15:59
|
в инструкциях по сборке метод «с помощью ИДЕ» всё равно не предлагается Вообще-то, под виндами это сопряжено с определенными неудобствами. Скажем, на команду make у меня с удовольствием откликается еще один компилятор, а сделать, увы, ничего не может. Но, ради любви к искусству, вместо make набрал mingw32-make.exe. Все прошло без проблем. Кстати, уточню, что использовал не виндовый cmd, а "Qt 4.8.1 for Desktop (MinGW)" из Qt SDK. Надеюсь, не получу упрека в том, что мне влом настраивать окружение для cmd?
|
|
|
798
|
Программирование / Python / Re: [Решено] Сборка PythonQt под Windows
|
: Декабрь 21, 2012, 23:15
|
Конечно же, надо давать сообщения из консоли сборки, а атк очень мало информации. Судя по /usr/bin/sh: c:/mingw/bin/mingw32-make: Invalid argument это нестандартная установка Qt SDK (либо вообще не SDK). И есть подозрение, что не выполнен qmake. Совет - поставьте SDK и повторите.
|
|
|
799
|
Qt / Вопросы новичков / Re: Сборка проекта под Linux
|
: Декабрь 21, 2012, 22:20
|
Спасибо. Решил проблему кардинально -снес fedorа, поставил ubuntu 12.04.1, qt-sdk, g++, qt creator2.6.1. Все прекрасно работает. Кстати, для сведения - на ubuntu SDK из бинарника не ставится, только из репозитория.
|
|
|
801
|
Qt / Вопросы новичков / [Решено] Сборка проекта под Linux
|
: Декабрь 18, 2012, 19:07
|
Коллеги, во время сборки проекта в Fedora 17 (RFRemix) поимел ошибку g++ -Wl,-O1 -Wl,-rpath,/home/sergek/QtSDK/Desktop/Qt/4.8.1/gcc/lib -o Register qtsoap.o main.o mainwindow.o coptions.o cxmlreader.o cnode.o csoaprequest.o cregister.o crequest.o xmldocs.o cenvelope.o csimplerep.o creports.o csoapclient.o moc_qtsoap.o moc_mainwindow.o moc_csoaprequest.o moc_csoapclient.o qrc_register.o -L/home/sergek/QtSDK/Desktop/Qt/4.8.1/gcc/lib -lQtXml -L/home/sergek/QtSDK/Desktop/Qt/4.8.1/gcc/lib -lQtGui -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread /usr/bin/ld: warning: libpng12.so.0, needed by /home/sergek/QtSDK/Desktop/Qt/4.8.1/gcc/lib/libQtGui.so, not found (try using -rpath or -rpath-link) и дальше список не неопределенных ссылок на библиотечные вызовы. Qt установлен из бинарника SDK 1.2.1, Creator 2.6 тоже. Вроде понятно, что библиотека Gui требует libpng12, а в системе есть libpng15. Непонятно, чего ее не устраивает в более новой png? Попробовал обмануть (указывал в LIBS+=, пробовал создать символьную ссылку с нужным именем), вызовы все равно неопределены. Возникает вопрос, как _правильно_ выходить из такой ситуации, с учетом того, что программу надо передать в другие руки и на другую систему (например, ubuntu) - пересобирать Qt, собрать libpng12? Кстати, где в Creator задаются опции компоновщика -rpath, -rpath-link? В pro-файле QMAKE_LFLAGS += -Wl,-rpath-link=/usr/lib , так?
|
|
|
802
|
Qt / Дополнительные компоненты / Re: zip
|
: Декабрь 10, 2012, 08:52
|
Я пробовал, для моей задачи слишком громоздко, к тому же, GPL. Мне всего-то нужно - получить от севера zip и распаковать. Прикручивать полноценную поддержку zip не хочется.
|
|
|
803
|
Qt / Дополнительные компоненты / Re: zip
|
: Декабрь 09, 2012, 21:37
|
А qCompress и qUncompress не зипуют? Нет. Это было бы славно. Когда то вроде читал, что это и есть алгоритм зипа? Да. И тем не менее, zip и zlib - разные вещи. Искал в сети решение по конвертации форматов, не нашел. есть в сети какой-то QZipReader кажется Вот я и склоняюсь к QZipReader. Этот класс включен в Qt, но недокументирован и может быть исключен в любой момент. Ладно, буду отгребать по мере поступления... А так использовать просто - нужно только скопировать в каталог проекта qzipreader_p.h (даже не добавляя его в профайл, взять его можно из исходников) и в файле, где используется QZipReader, включить этот заголовочный файл. Недостаток в том, что разархивирование выполняется только в каталог, а хотелось бы в QByteArray. И настораживает, что реализация находится в библиотеке libQtGui. Будет ли это работать в консольном приложении (можно ли будет подключить к нему эту либу)?
|
|
|
804
|
Qt / Дополнительные компоненты / zip
|
: Декабрь 09, 2012, 12:07
|
Коллеги, что посоветуете в качестве самого легкого решения для распаковки zip-архива? Переносимое для win и linux. Нужно только распаковать (без лишних функций).
|
|
|
805
|
Qt / Пользовательский интерфейс (GUI) / Номер строки и столбца в QPlainTextEdit
|
: Ноябрь 26, 2012, 20:12
|
Коллеги, нужно для редактора QPlainTextEdit (QTextEdit) отобразить номера строки и колонки текущего положения курсора. Получилось так: int position=textEditScript->textCursor().position(); QTextDocument* doc=textEditScript->document(); QTextBlock block=doc->findBlock(position); int col=position-block.position()+1; int row=block.blockNumber()+1; QString cursor=QString("%1 : %2").arg(row).arg(col); cursorLbl->setText(cursor); Не очень понятно, что есть блок? И можно ли это сделать проще? А как сделать наоборот - по номеру строки и колонки вычислить абсолютную позицию установить курсор в редакторе (может, до завтра кто подскажет;)?
|
|
|
806
|
Qt / Пользовательский интерфейс (GUI) / Re: Два вопроса по QTreeView.
|
: Ноябрь 23, 2012, 22:15
|
Я извиняюсь на непонятливость, номер строки это простотой счётчик? И свёрнут узел или развёрнут не важно? Да, совершенно верно. Номер строки относится к данным, а не к представлению. Присмотритесь к реализации метода data. Поделитесь примером программного раскрытия узла из модели. Прикрепил немного обновленный пример из http://www.prog.org.ru/index.php?topic=8028.msg166102#msg166102. Обновил метод refreshSlot, который должен оставить раскрытым текущий узел при перестроении дерева. Поскольку индексы при обновлении данных теряют актуальность (при сортировке, например), я запоминаю данные текущего узла, потом при пересоздании дерева этот узел отыскиваю (в findItem лучше использовать переопределенный operator==), создаю индекс для него, и делаю его текущим. Он автоматически открывается. Кстати, если в данных, которые использует модель, порядок не меняется, то номер строки в узле можно использовать для позиционирования. Смотрите CScriptCollectionModel::refreshSlot. Открытие узла присходит в mainWindow->getScriptView()->setCurrentIndex(index). Скорее всего, это можно сделать другим способом. Но мне этого было достаточно. А может можно также как и установка шрифта и других параметров, через data(…)? Например, иконка узла устанавливается в CScriptCollectionModel::data (для роли Qt::DecorationRole).
|
|
|
807
|
Qt / Пользовательский интерфейс (GUI) / Re: Два вопроса по QTreeView.
|
: Ноябрь 21, 2012, 21:13
|
Можно ли «проходя» по модели обратится в соответствующий узел QTreeView? Вижу возможность по номеру строки. Но будет ли он, номер, одинаков при свёрнутом и раскрытом узле выше от текущего узла? Сама модель не знает, какое представление используется для ее отображения (тем более, что их может быть несколько). Но Вы сами можете связать модель с конкретным представлением. А уж обращаться к узлам представления нужно по индексу, например: index = createIndex(item->childNumber(),0,item); mainWindow->treeView->setCurrentIndex(index);
Кстати, setCurrentIndex() делает нужный узел видимым, т.е. разворачивает дерево, если этот узел скрыт (это к п.1).
|
|
|
808
|
Qt / Базы данных / Re: QSqlTreeModel всем миром...
|
: Ноябрь 10, 2012, 19:25
|
К сожалению, не обратил внимание на древнюю дату топика, вырезал из разрабатываемого проекта свой пример. Теперь жалко выбрасывать. Раз тема всплыла, может, кому пригодится.
В примере решается задача хранения текстовых данных (скриптов) в иерархическом хранилище. Две таблицы - папки->скрипты, отношение 1:M. Структура таблиц в файле tables.sql.
За основу взят Editable Tree Model Example из Qt Reference Documentation. Взаимодействие с БД сделано на уровне источника данных (CScriptCollectionItem), внешний интерфейс - в классе модели (CScriptCollectionModel) в виде шести открытых методов и двух слотов.
|
|
|
|
|