LINUX.ORG.RU

Сообщения gwyllum

 

Qt не могу собрать драйвер PostgreSQL

Форум — Development

Доброго времени суток! Помогаю знакомому с его курсовым, а у него приложение QT работающее на Linux, обращающееся к базе PostgreSQL.

Как оказалось, с QT эти драйвера не поставляются. Устанавливал в Ubuntu через пакетный менеджер. Также установил пакет postgresql-9.1(object-relational SQL database, version 9.1 server)

Нашел в в интернете инструкцию, где написано:

cd $QTDIR/src/plugins/sqldrivers/psql

qmake "INCLUDEPATH+=/usr/include/pgsql" "LIBS+=-L/usr/lib -lpq" psql.pro

 make
при попытке выполнить первую инструкцию в терминале, мне выдается:

bash: cd: /src/plugins/sqldrivers/psql: Нет такого файла или каталога

в каталоге /usr/include/ нет каталога pgsql

Может я суть не уловил, как это нужно делать?

Инструкцию брал с doc.crossplatform.ru/

 , ,

gwyllum
()

Qt qsort сортировка списка

Форум — Development

Доброго времени суток! Встал передо мной вопрос сортировки списка. Прочитал докумментацию, нашел простейшую реализацию:

QList<int> list;
    list << 33 << 12 << 68 << 6 << 12;
    qSort(list.begin(), list.end());

Однако элементы моего списка не простые данные, а объекты класса. Допустим, у них есть поля типа Qstring, int и т.п. Как отсортировать список по этим значениям?

Заранее огромное спасибо

 , qsort, ,

gwyllum
()

Почему Linux тормозит

Форум — Desktop

Доброго времени суток. Я тут не пытаюсь развести холивар и троллинг, просто на самом деле интересно. Уже почти два года сижу на Linux на user friendly дистрибутивах типа Mandriva, PC Linux, Fedora. Сейчас остановился на Ubuntu. Заметил, что со временем Linux начинает тормозить все больше и мне интересно почему. На Windows тормоза понятны - загаживание и фрагментация реестра. А вот почему тормоза появляются в Linux - для меня загадка. Там, если я правильно понял используются конфигурационные файлы, т.е. обычные текстовики. Если например ты удалил приложение и даже остались какие-то настройки после него, то они никак не могут замедлить быстродействие, максимум занимать место. Так с чем связано замедление системы? С фрагментацией Ext4? После использования утилит типа Bleachbit система начинает двигаться шустрее, но до первоначальной скорости ей далеко.

Также хотел спросить советов по оптимизации - как ускорить систему? Я читал, что даже в той же Ubuntu можно пересобрать ядро. Есть ли смысл этим заниматься или ускорение получится незначительным?

И еще вопрос: если в дистрах типа Ubuntu, Fedora можно пересобирать ядро и ставить программы из исходников, то в чем преимущество Gentoo, если там ты тоже пересобираешь ядро и ставишь программы из исходников. Я читал, что Gentoo быстрее, но за счет чего?

Просьба сильно не пинать за вопросы, если они глупые. Всем заранее спасибо :)

 , , ,

gwyllum
()

QSqlQuerryModel - как отсортировать?

Форум — Development

Не совсем понимаю, как сортировать QSqlQuerryModel - так, как другие модели не получается.

Нужна именно эта модель - она может делать выборку сразу из двух таблиц. Метод TableView setSortingEnabled с ней не работает.

Как сделать, чтобы при клике на заголовке колонки таблицы она сортировалась?

 ,

gwyllum
()

QT - Сигналы и слоты - как связать

Форум — Development

Доброго времени суток! У меня есть основной класс диалога и в нем еще дочерний. Идея в том, что при нажатии на кнопку ОК в дочернем диалоге должен посылатся сигнал, который бы обработал основной. Я сделал сигналы и слоты и теперь пытаюсь связать в конструкторе главного дилаога

 QObject::connect(dlgEditTransport, SIGNAL(changeTransport(int, QString , QString , QString )), this, SLOT(changeTransport(int, QString , QString , QString )));

Но вот, что выдает: ..\kurs2\dialog.cpp:14:163: error: no matching function for call to 'Dialog::connect(DialogEditTransport&, const char*, Dialog* const, const char*)'

И еще вопрос - а можно ли без сигналов-слотов узнать, что в дочернем диалоге произошло событие Accepted()?

 ,

gwyllum
()

Как получить значение выделенной ячейки в QTableView

Форум — Development

С-но проблема - есть QTableView, в которой пользователь может менять данные. Данные меняются не редактированием таблицы, а вызовом соответствующего диалога. Выделенную ячейку нахожу с помощью tv->currentIndex().row(); - т.е. не важно, какой столбец, в любом случае, строка редактироваться будет именно эта.

Остался последний вопрос - как получить данные ячеек в этой строке, чтобы заполнить форму диалога? Использую QSqlQuerryModel.

 ,

gwyllum
()

QT: клиент-серверное приложение с SQLite

Форум — Development

С-но, нужно реализовать клиент-серверное приложение. Клиент посылает запросы серверу, который читает данные из SQLite базы. Чтение из базы я освоил, вывод в QTableView - тоже. Но когда нужно сделать клиент-серверное приложение, сразу возникает вопрос: ну, допустим, я разработал простейший протокол, который будет передавать данные записи от сервера к клиенту. Теперь вопрос - QTableView работает с моделью. Модель и база на сервере, QTableView на клиенте. Следовательно, тут я вижу такие варианты:

1. Копировать переменную класса QSqlQueryModel и пересылать ее по сети полностью. На клиенте из ее копии формировать таблицу, которую и требуется отобразить.

2. Передавать список параметров, которые надо либо выводить на клиенте, либо записывать в БД на сервере. С записью вроде понятно. А с выводом... ну, допустим, я получил 4 строковых параметра, как мне запихнуть их в QTableView?

Может не в том направлении копаю?

 , , ,

gwyllum
()

Qt SQLite не видит созданную таблицу.

Форум — Development

Всем доброго времени суток. Только начал работать с SQLite в QT и не могу разобраться: 1. Создается БД 2. В БД записывается таблица. Дебаг выдает, что таблица не создана, но если открывать БД сторонней программой, то видна таблица и поля. 3. При попытке вывести таблицу на форму, ничего не отображается. И тут вопрос - либо я что-то не так делаю при создании таблицы, либо неправильно вывожу ее на форму

 QSqlDatabase dbase = QSqlDatabase::addDatabase("QSQLITE");
        dbase.setDatabaseName("/home/eugenes/db.sqlite");
        if (!dbase.open()) {
            qDebug() << "Что-то не так с соединением!";

        }
        else
        {
             qDebug() << "Все отлично!";
        }

        QSqlQuery a_query;

            QString str = "CREATE TABLE my_table ("
                    "number integer PRIMARY KEY NOT NULL, "
                    "address VARCHAR(255), "
                    "age integer"
                    ");";
          bool b = a_query.exec(str);
          if (!b) {
              qDebug() << "Вроде не удается создать таблицу!";
           }


          model.setTable("my_table");
          model.setEditStrategy(QSqlTableModel::OnFieldChange);
          model.select();

          ui->tableView->setModel(&model);
          ui->tableView->show();

Буду очень признателен за помощь

 , ,

gwyllum
()

QT. Редактор карт.

Форум — Development

Пишу простейший редактор уровней. Есть главный диалог, на котором будет отображаться уровень и будут различные кнопки, типа создать объект и т.п. Добавил диалог создания уровня и класс самого уровня Для простоты пока уровень содержит три параметра

class Clevel
{
 int width, height,
QString name;
}

Надо отметить, что уровень должен отрисовыватся в главном окне, правда пока для простоты это будет черный квадратик. Итак, как я это попытался реализовать:

Я прописал все три объекта в main.cpp, т.е. сделал их глобальными. 1. Пользователь жмет кнопку [Создать уровень] срабатывает событие(я сделал это пересылкой сигнала дочернему диалогу) 2. Открывается дочерний диалог с параметрами 3. После нажатия на кнопку [OK] создается уровень(отсылается сигнал объекту Level)

тут пока все хорошо, кроме одного - мне необходимо постоянно отрисовывать уровень. Отрисовка происходит в PaintEvent главного диалога. Отсюда вопрос - как получать данные от уровня для отрисовки? Постоянно посылать сигнал со всеми данными уровня главному окну? Или все-таки лучше сделать CLevel членом класса главного диалога? Подскажите пожалуйста

 , ,

gwyllum
()

lampp не запускается

Форум — Desktop

Подскажите пожалуйста, как решить неполадку:

XAMPP is currently only availably as 32 bit application. Please use a 32 bit compatibility library for your system.

Библиотеку ia32-libs уже установил - не помогает. Система - Ubuntu 12.10

 , ,

gwyllum
()

Отказано в доступе - что это может быть?

Форум — Desktop

bash: /opt/lampp/lampp: Отказано в доступе

Подскажите пожалуйста, что это может быть? Запускаю под рутом.

 , , ,

gwyllum
()

Сломалась установка программ Ubuntu

Форум — Desktop

Подскажите пожалуйста. При установке Ubuntu выдает

E: Работа dpkg прервана, вы должны вручную запустить «dpkg --configure -a» для устранения проблемы.

Когда запускаю то, что она просит, выдает следующее:

Настраивается пакет sandboxgamemaker (2.7.1+dfsg-2) ... Cleaned old data --2013-02-10 19:55:25-- http://sandboxgamemaker.com/sandbox/PlatinumArtsSandbox2.7.1Multiplatform.zip Распознаётся sandboxgamemaker.com (sandboxgamemaker.com)... 173.236.241.215 Подключение к sandboxgamemaker.com (sandboxgamemaker.com)|173.236.241.215|:80... соединение установлено. HTTP-запрос отправлен. Ожидание ответа... 301 Moved Permanently Адрес: http://www.sandboxgamemaker.com/sandbox/PlatinumArtsSandbox2.7.1Multiplatform... [переход] --2013-02-10 19:55:26-- http://www.sandboxgamemaker.com/sandbox/PlatinumArtsSandbox2.7.1Multiplatform... Распознаётся http://www.sandboxgamemaker.com (http://www.sandboxgamemaker.com)... 173.236.241.215 Повторное использование соединения с sandboxgamemaker.com:80. HTTP-запрос отправлен. Ожидание ответа... 416 Requested Range Not Satisfiable

Файл уже получен полностью; нет действий.

replace PlatinumArtsSandbox2.7.1/bin/jpeg.dll? [y]es, [n]o, [A]ll, [N]one, [r]ename:

Не важно, какой вариант я выбираю, больше система не реагирует. Только если жмешь Ctrl+z.

Подскажите, что делать? Неужели придется переставлять систему?

 ,

gwyllum
()

Аналог Denwer на Linux?

Форум — Desktop

С-но, мне нужен портативный сервер. Фишка денвера была именно в том, что его можно было сохранить на флешку и запускать из любого места. Поясню мысль - когда-то писал для себя на php небольшой дневник+простейший менеджер задач. Основная фишка - мобильность. Все базы данных и скрипты хранятся в дирректории Denwer. Можно на любом компе запустить сервер и добавить задачу или запись в дневник.

apache, насколько я понимаю, не подходит, т.к. его просто так на флешку не перекинешь. Да и синхронизировать БД тот еще геморой.

Запускать denwer под wine - это кажется полным маразмом. А ставить Virtual Box ради одной программы...как-то...

Другие менеджеры задач и дневники просьба не предлагать - т.к. пользуюсь тем, что удобно и заточено лично под меня.

А так, может кто подскажет интересное решение портативного сервера? Заранее спасибо

 , , ,

gwyllum
()

Параметры запуска программы

Форум — Desktop

С наступившим всех новым годом) С-но созрел вопрос - как указать параметры запуска определенной программы? Идея вот в чем - установил TrueCrypt, там есть параметры командной строки, для автомонтирования томов при запуске программы. Осталось только эти параметры прописать. В Windows это выглядело просто, а тут в свойствах ссылки нашел только настройку прав, имени ссылки, и программы для открытия по умолчанию.

Т.е. Мне нужно что-то типа «TrueCrypt /a /f»

Где это можно настроить и можно ли?

Заранее спасибо.

 

gwyllum
()

Посоветуйте программу для чтения новостей.

Форум — Desktop

Есть пара сайтов, которые хочется перечитать полностью. Чтение из браузера неудобно, т.к. бывает необходимость вернуться к прочитанному, читать не по порядку и т.п. Т.е. необходима программа, которая могла бы хранить эти статьи, при необходимости удалять их и т.п. rss клиенты, типа liferea не подходят, т.к. они скачивают последние 10-20 новостей, а мне нужны все новости с момента создания сайта. Я даже не знаю, можно ли вообще настроить это в таких приложениях.

Можно скачать сайт программами типа teleport pro, но скачивается много ненужного мусора, страницы php дублируются, т.к. скачиваются сами новости, страницы с комментариями, страницы архивов новостей и т.п.

Может что-то типа менеджера ссылок с возможностью импорта всех новостей на сайте и обновлениями?

 ,

gwyllum
()

Программирование для iphone из-под Linux. Возможно ли?

Форум — Development

С-но, необходимо написать несколько простейших приложений для айфона, но не хочется ставить себе хакинтош или мак на виртуалку. В Windows вроде есть различные приложения для создания программ для iphone, но и винду ставить не хочется) Возможно ли программировать из-под Linux? :)

 , ,

gwyllum
()

Gnome shell можно ли не отображать заголовок окна?

Форум — Desktop

Пользуюсь gnome shell, настроил его более-менее на свой вкус. Единственное, что мешает - избыточность - на верхней панели фигурирует имя приложения, а далее идет заголовок окна опять-так с именем приложения и кнопкой закрыть, который в принципе не нужен, т.к. Я поставил расширение, добавляющее эти кнопки на панель а-ля Unity или Mac. Мне удалось удалить кнопку закрытия окна с заголовка окна, остался вопрос - можно ли удалить сам заголовок?

 ,

gwyllum
()

Запуск программы через system. Как узнать результаты

Форум — Development

Здравствуйте. Использую вызов system() для запуска консольной программы. Все работает, однако, если я указываю неправильный аргумент для консольной программы, то system все равно вернет 0, что в принципе верно, т.к. Программа выдает ошибку в консоль, которой не видно. Вопрос - есть ли способ как-то узнать, что выдает консольная программа, но без вывода самой консоли? Перехватить текст и вывести его в GUI?

Заранее спасибо

 ,

gwyllum
()

Как запустить консольную программу?

Форум — Development

Мне нужно написать графическую программу, которая бы запускала консольную с определенными параметрами. Если я правильно понимаю, то консольные программы запускаются через терминал, т.е. Мне нужно не просто открыть файл программы, а открыть терминал и указать, чтобы он открывал эту программу?

Подскажите пожалуйста, как это сделать?

 ,

gwyllum
()

Объясните пожалуйста как компилировать приложение

Форум — General

Всем доброго времени суток! В Линуксе я еще новичок, поэтому просьба не пинать за глупый вопрос. Мне нужно собрать программу из исходных кодов extundelete. Стадия configure проходит нормально, а когда пишу make, вот что выдает компилятор:

make -s all-recursive
Making all in src
extundelete.cc: В функции «blk64_t extundelete_inode_table_loc(ext2_filsys, dgrp_t)»:
extundelete.cc:131:29: ошибка: invalid use of incomplete type «struct opaque_ext2_group_desc»
In file included from extundelete.cc:94:0:
/usr/include/ext2fs/ext2fs.h:202:8: ошибка: forward declaration of «struct opaque_ext2_group_desc»
extundelete.cc:131:30: ошибка: invalid use of incomplete type «struct opaque_ext2_group_desc»
In file included from extundelete.cc:94:0:
/usr/include/ext2fs/ext2fs.h:202:8: ошибка: forward declaration of «struct opaque_ext2_group_desc»
extundelete.cc: В функции «void print_version()»:
extundelete.cc:383:49: ошибка: expected primary-expression before «<<» token
extundelete.cc: В функции «int restore_inode(ext2_filsys, ext2_filsys, ext2_ino_t, const string&)»:
extundelete.cc:1726:30: предупреждение: сравнение знакового и беззнакового целых выражений [-Wsign-compare]
extundelete.cc: В функции «blk64_t extundelete_inode_table_loc(ext2_filsys, dgrp_t)»:
extundelete.cc:133:1: предупреждение: control reaches end of non-void function [-Wreturn-type]
make[2]: *** [extundelete-extundelete.o] Ошибка 1
make[1]: *** [all-recursive] Ошибка 1
make: *** [all] Ошибка 2

Версию Extundelete 0.2.2 скачивал с официального сайта, логично предположить, что ошибок в коде нет. Получается, что у меня старая версия компилятора или еще что? Буду очень признателен, если разъясните.

 ,

gwyllum
()

RSS подписка на новые темы