Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
21.7.2009, 11:04 | Qt и MySQL | да. На моём рабочем компьютере где стоит QT, где собирается программа, где был собран драйвер БД всё прекрасно работает. А вот на другом компьютере который о QT ничего не знает не подключаются плагины. Основные библиотеки скопированные в папку с программой работают прекрасно. В папке с программой создай папку sqldrivers и туда скопируй драйвер. Подробности в assistent: How to Create Qt Plugins. |
berserk, | ||
16.7.2009, 19:07 | собственная реализация hotplug на с++ | igor_bogomolov, | |||
13.7.2009, 14:49 | boost graph library | AD, | |||
8.7.2009, 7:52 | Странное поведение программы | А куда buff указывает? Где память для него выделяется? Код
|
berserk, | ||
1.7.2009, 10:37 | Создание быстродействующего распределителя памяти | Почитай вот эту тему. В конце есть готовый алокатор, с примером. Стратегия там такая, выделяется один кусок памяти под 1K объектов (chunk), когда память в нем заканчивается, выделяется следующий chunk и т.д. Блин, ссылку забыл приложить. http://forum.sources.ru/index.php?showtopic=249933 |
AD, | ||
30.6.2009, 14:08 | Доступ к основному окну из плагина | Добавь в файл проекта самой программы: QMAKE_LFLAGS += -Wl,-export-dynamic |
exmagistr, | ||
10.6.2009, 22:17 | Ваш опыт собеседования. | igor_bogomolov, | |||
25.3.2009, 20:23 | Непонятки с QPainter::viewport | ага,.... А можно как-то "беболезненно" отмаштабировать всю страницу? В смысле чтобы все данные уместились на странице? или лучше играться dpi и подобрав нужный коэффициент, например, устанавливать соотвествующее dpi на всех машинах? Есть размер страницы в точках, есть размер в мм. Делим первое на второе - получаем коэффициент (количество точек в одном мм). При формировании отчета все размеры задавай в мм, а для пересчета в точки умножай на получившийся коэффициент. |
Rocky, | ||
25.3.2009, 19:58 | Непонятки с QPainter::viewport | Кто-нить знает, что вообще возвращает viewport? мм, см, пиксели? Почему так получается что на листе размером 297х210 мм на одной машине влезает все, а на другой происходит обрез? Как бороться? viewport возвращает размер в пикселях. У разных принтеров, разное разрешение в точках (это параметр "Количество точек на дюйм" (DPI)). Тебе нужно все маштабировать относительно этого dpi. Посмотри на QPaintDevice, это базовый класс для QPrinter. Он тебе сможет вернуть размеры в мм, ну и сами значения dpi. |
Rocky, | ||
24.3.2009, 21:44 | Делегаты... | Теперь спинбокс тоже с ноликом, но уже не редактируется, а вываливает ошибку в консоль: QAbstractSpinBox: Internal error: Different types (QDateTime vs int) (widgets\qabstractspinbox.cpp:1864) Попробуй изменить в делегате setEditorDate, пусть устанавливает фиксированную дату вместо проеобразования. Плюс во все методы повтыкай побольше qDebug() и посмотри, что происходит. Эта ошибка из QVariant operator+( const QVariant &arg1, const QVariant &arg2 ). Возникает, если типы аргументов разные. |
LE0N, | ||
24.3.2009, 17:41 | Межпоточное взаимодействие (Qt 4.3.3) | ну т.е. моё предыдущие утверждение верно? тогда другой вопрос - это утверждение верно только если объект посылающий сигнал создан от клаасса унаследованного от QThread ? или (ну а вдруг) прокатит множественное наследовнаие QObject для сигнала и некий другой класс потока (не Qt) ?? Есть два объекта, например наследника от Object, созданные в контекстах двух разных потоках. Когда один объект посылает сигнал второму, происходит следующее: в очередь сообщений той нити, где находиться получатель сигнала, помещается специальное сообщение (QEvent::MetaCall), в котором содержиться информация для вызова слота. После переключения в контекст получателя (при обработке procrssEvents) происходит вызов данного слота. |
flankerr, | ||
24.3.2009, 17:23 | Межпоточное взаимодействие (Qt 4.3.3) | flankerr, | |||
19.3.2009, 17:43 | [Решено] Cоздание собственной модели для отображения таблицы. | А вообще вот почему указатель, а не объект: 1) Данные могут со временем измениться, чтобы если что создать потомка. 2) Описан класс в другом файле - меньшее количество компиляции. Аргумент 2 - можно обойти. Аргумент 1 - если есть такая необходимость, то конечно. (Я к этой структуре относился как к вспомогательно/внутренней). Ухожу, ухожу.... Ан нет, еще про одну штучку напомню: Цитата из assistant Цитата void qDeleteAll ( ForwardIterator begin, ForwardIterator end ) Deletes all the items in the range [begin, end) using the C++ delete operator. The item type must be a pointer type (for example, QWidget *). Example: QList<Employee *> list; list.append(new Employee("Blackpool", "Stephen")); list.append(new Employee("Twist", "Oliver")); qDeleteAll(list.begin(), list.end()); list.clear(); Notice that qDeleteAll() doesn't remove the items from the container; it merely calls delete on them. In the example above, we call clear() on the container to remove the items. See also forward iterators. void qDeleteAll ( const Container & c ) This is an overloaded member function, provided for convenience. This is the same as qDeleteAll(c.begin(), c.end()). |
AD, | ||
19.3.2009, 16:58 | [Решено] Cоздание собственной модели для отображения таблицы. |
Вот объясни мне, для чего используются указатели на LicenceData, а не сами объекты? Где они удаляются, после разрушения объекта StatisticModel. Сейчас у тебя память будет утекать. А описал бы список так QList<LicenceData> listView и проблем бы не было. В чем тайный смысл? |
AD, | ||
19.3.2009, 12:11 | [Решено] Cоздание собственной модели для отображения таблицы. | Раскрывающийся текст
|
AD, | ||
18.3.2009, 14:21 | [Решено] Cоздание собственной модели для отображения таблицы. | LicenceModel
В данном примере ты должен заполнить список лицензий извне, модель будет использовать его для вывода. Можно переделать и формировать этот список в конструкторе. Можно в самой моделе читать данные из БД. Все можно. |
AD, | ||
17.3.2009, 9:52 | QSqlTableModel+QListView добавление новой записи вручную... | Да хоть так пишу... Разницы НОЛЬ! Как и писал раньше, сам QSqlTableModel не пользуюсь, но вот цитата из assistent: Раскрывающийся текст Цитата Use QSqlTableModel::record() to retrieve a row in the table, and QSqlTableModel::setRecord() to modify the row. For example, the following code will increase every employee's salary by 10 per cent: for (int i = 0; i < model.rowCount(); ++i) { QSqlRecord record = model.record(i); double salary = record.value("salary").toInt(); salary *= 1.1; record.setValue("salary", salary); model.setRecord(i, record); } model.submitAll(); You can also use QSqlTableModel::data() and QSqlTableModel::setData(), which are inherited from QAbstractItemModel, to access the data. For example, here's how to update a record using setData(): model.setData(model.index(row, column), 75000); model.submitAll(); Here's how to insert a row and populate it: model.insertRows(row, 1); model.setData(model.index(row, 0), 1013); model.setData(model.index(row, 1), "Peter Gordon"); model.setData(model.index(row, 2), 68500); model.submitAll(); Here's how to delete five consecutive rows: model.removeRows(row, 5); model.submitAll(); The first argument to QSqlTableModel::removeRows() is the index of the first row to delete. When you're finished changing a record, you should always call QSqlTableModel::submitAll() to ensure that the changes are written to the database. |
LE0N, | ||
17.3.2009, 8:17 | MinGW32, Статическая и динамическая сборка, *.dll и *.a | т.е. в случае сборки Qt с разделяемыми библиотеками, при компиляции моей программы эти a'шки линкером присоеденяются к объектникам моей программы и потом получается exe'шник? Да. Если я не ошибаюсь, dll можно вообще убрать, а линкер программу все равно соберет. dll нужны будут только при исполнении программы. |
Litkevich Yuriy, | ||
16.3.2009, 23:55 | MinGW32, Статическая и динамическая сборка, *.dll и *.a | Если это все так, то у меня вопрос, а зачем при сборке с разделяемыми библиотеками в каталоге %QTDIR%\lib создается море a'шек? Это разные статические библиотеки (и размеры у них очень разные). При сборке с разделяемыми библиотеками создается dll и a (не большой), вот .а содержит код-переходник для вызова функций из dll. А при статической сборке в .a находится весь код функций. |
Litkevich Yuriy, | ||
16.3.2009, 22:35 | [Решено][Qt 4.5] QRubberBand крашится | Решил поэкспериментировать с QRubberBand, почитал в доке. Накатал простейший код, как в документации. Когда дело доходит до setGeometry() или show(), то программа крашится. Проверьте плиз на ранних версиях или скажите причину подобного поведения. Компилируемые исходники в аттаче. Ты в конструкторе Widget переменную rubberBand обнуляй и все будет ok. |
SABROG, | ||
16.3.2009, 19:00 | При помощи какого виджета лучше сделать mailto? | kuler, | |||
14.3.2009, 22:18 | Изменение высоты и ширины ячеек. | Поглядим. main.cpp
|
Antrix, | ||
13.3.2009, 18:31 | Как измерить величину строки в пикселях при печати? | Rocky, | |||
13.3.2009, 13:09 | Секреты и интересные возможности Qt | Еще один способ вывода отладочных сообщений для GUI приложений. Позволяет не прописывать CONFIG += console в .pro файле. На qDebug, qWarning, QFatal будет всплывать диалог, вместо того, чтобы писаться в консоль. А еще можно перехватить весь вывод и писать его в лог-файлы, например. QtMsgHandler qInstallMsgHandler ( QtMsgHandler handler ) В документации есть пример использования. В проекте freeremote, я все строки добавляю в QStringListModel, что дает возможность в необходимых местах сделать просмотр лога, просто создав QListView и указав эту модель в качестве активной. |
AD, | ||
12.3.2009, 22:35 | QApplication::quit() не срабатывает? | Давайте перейдём от первоначального вопроса к Цитата запустить loader->process после a.exec без участия пользователя... В конструкторе Loader:
Таймер сработает сразу после запуска цикла обработки событий. process() - должен быть слотом. Да, из main вызов process убрать. |
LE0N, | ||
Текстовая версия | Сейчас: 19.4.2024, 6:47 |