crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

История благодарностей участнику MoPDoBoPoT ::: Спасибо сказали: 44 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
23.3.2012, 23:08 Вопрос архитектуры приложения
Цитата(call_me_Frank @ 23.3.2012, 17:03) *
можно ли каким-то образом вызывать метод объекта по его "текстовому" названию, то есть вызывать не как obj.method1(params), а как-нибудь вроде obj.methods["method1"](params); ?

QMetaObject::invokeMethod()
call_me_Frank,
15.3.2012, 21:58 Qt_Mysql Null поля
Ну так использование связанных переменных подразумевает не тупую замену плейсхолдеров, это целый механизм. Для передачи NULL-значений надо передавать NULL типа QVariant. Например, для передачи NULL в поле, с типом "строка", надо передать QVariant(QVariant::String).
Stoptyssin,
3.3.2012, 14:10 Горячий поиск
Мде...
"Pat_F = " + ui->lEdPat->text()
Stoptyssin,
8.9.2011, 20:27 QTableWidget, Как при выделении ячейки вывести на её месте другой виджет?
Цитата(Алексей1153 @ 7.9.2011, 7:26) *
нужно создать экземпляр QComboBox с родителем==таблица, затем комбу разместить ровно в размер ячейки на таблице

Кстати, чтобы так сделать, надо парентом сделать вьюпорт (QAbstractScrollArea::viewport()), а не саму таблицу. Но через делегат, по-моему, правильней и удобней.
Strikevld,
7.9.2011, 19:32 QTableWidget, Как при выделении ячейки вывести на её месте другой виджет?
Делегат + нужная стратегия редактирования у представления (QAbstractItemView::EditTriggers)
Strikevld,
27.6.2011, 19:33 горизонтальный скролбар и QTreeWidget
Цитата(RazrFalcon @ 26.6.2011, 0:28) *
Но еще бы понять почему не исчезает =/

А ты посмотри размеры колонок у хедера.
RazrFalcon,
22.6.2011, 21:04 OS системы DIMEDROLL,
17.5.2011, 21:06 QListWidget и контекстное меню
Потому что ты преобразовывал координаты вызова контекстного меню неправильно. Контекстное меню вызывается для listWidget'a, а не для главной формы (this), поэтому надо делать так:
QPoint globalPos = listWidget->viewport()->mapToGlobal(pos);
...
RazrFalcon,
12.5.2011, 21:29 символ ";" вызывает ошибку в запросе
Цитата(RazrFalcon @ 12.5.2011, 19:04) *
проблема точно в ";", ибо когда оставляю 1 insert, без ";" - запрос выполняется, когда дописываю ";" - появляется эта ошибка.

Да, есть такая особенность в Oracle. Не помню точно с чем это связано, по-моему это как раз защита от SQL-инъекций (чтобы нельзя было за один раз выполнять больше одного оператора).
Если не устраивает решение с QSqlQuery::execBatch(), то можно это сделать с помощью неименованного блока PL/SQL:
q.prepare("begin "
          " insert into ADDRESSEES(ADR_ID, FULL_NAME, PRIORITY_CHANNEL, PRIORITY_FORMAT) values( 10, 'ZOI4', 2, 0); "
          " insert into ADDRESSEES(ADR_ID, FULL_NAME, PRIORITY_CHANNEL, PRIORITY_FORMAT) values( 11, 'ZORG', 1, 1); "
          " insert into ADDRESSEES(ADR_ID, FULL_NAME, PRIORITY_CHANNEL, PRIORITY_FORMAT) values( 12, 'MOPS', 1, 0); "
          "end;");
q.exec();

Но, на самом деле, лучше пользоваться биндингом.
FantasyOr,
11.5.2011, 21:34 Перебор QAction элементов QMenu
Зачем так сложно?)
Цитата(QtAssistant)
void QMenu::clear ()
Removes all the menu's actions. Actions owned by the menu and not shown in any other widget are deleted.
ruzik,
10.5.2011, 21:52 Перебор QAction элементов QMenu
Список действий можно получить вызовом метода QWidget::actions(), только не забывай, что разделители тоже имеют тип QAction.
ruzik,
23.4.2011, 18:47 Как добавлять в базу текст со спецсимволами?
Вообще-то, в SQL апостроф экранируется апострофом, то есть должно быть примерно так:
...
QString tags("insert into tags values('Something', 'Something''Something', 'Something')");
...

В данном случае в запрос передаются константные строки (твои), поэтому можно обойтись простым экранированием, ну а вообще, лучшей практикой является использование связываемых переменных (биндинг), которые исключают возможные SQL-инъекции.
FantasyOr, RazrFalcon,
14.4.2011, 21:49 Запрос вставки
Цитата(AD @ 14.4.2011, 11:38) *
Либо я чего-то не понял, либо еще что-то, но загружать БД в память, а потом сохранять в файл не получилось.

Если только приаттачить (ATTACH DATABASE) файл БД, после чего переписать туда данные. Но лучше разобраться с проблемой транзакций и писать сразу в файл. Мне кажется, можно попробовать создать отдельное соединение для изменения данных в БД, чтобы не искать активные запросы и сбрасывать их.
AD,
12.4.2011, 21:19 Запрос вставки
Цитата(AD @ 12.4.2011, 10:32) *
Пробовал. Не помогает.

Возможно, что где-то ещё активные запросы, например, табличные модели.
Цитата(AD @ 12.4.2011, 15:18) *
Как организовать правильное хранение в памяти?

    db = QSqlDatabase::addDatabase("QSQLITE", "conn_1");
    db.setDatabaseName(":memory:");
AD,
14.2.2011, 21:42 Как выполнить SQL-запрос из javaScript (qml)?
Надо указывать колонки, в которые передаются значения:
tx.executeSql('INSERT INTO ' + tableName + '(productName, comment) VALUES(?, ?)', [ productName, comment ]);
Rocky,
18.12.2010, 21:40 С днем рождения, AD!
С днём рождения!
AD,
4.10.2010, 20:01 Разделы ХДД
QFileInfoList QDir::drives () [static]
breeve,
2.10.2010, 16:01 Паттерн одиночка не компилится
Кстати, на форуме есть тема про одиночку, где все достаточно хорошо расписано.
haiflive,
11.9.2010, 13:55 Только цифры в ячейках QTableWidget
Написать своего делегата и установить его в QTableWidget.
kvak,
15.7.2010, 11:02 QComboBox
Еще можно воспользоваться setModel(QAbstractItemModel * model) + setModelColumn(int visibleColumn). Удобно при загрузки данных из БД.
eldar85,
12.6.2010, 19:24 Тут математики есть?
Сначала избавляются от h в знаменателях, умножая левую и правую части уравнений на h^2, а потом приводят подобные. При этом y0 заменяют на ya, а yN на yb (отсюда первое и последнее уравнения системы).
Или загвоздка в чем-то другом?
molchanoviv,
3.6.2010, 18:17 Как добавить Toolbar в QDialog и в середину окна
Ручками.
void QLayout::setMenuBar ( QWidget * widget )
Если нужен "плавающий" (floatable) тулбар, то это решение не подходит. Тогда придется использовать QMainWindow как виджет.
Begemot,
3.6.2010, 16:10 Периодическое обновление данных в таблице. Как лучше реализовать?
PostgreSQL (тоже поддерживается Qt), в Microsoft SQL Serve, по-моему, еще есть. Остальные хз.
Andrewshkovskii,
3.6.2010, 0:45 Периодическое обновление данных в таблице. Как лучше реализовать?
Цитата(Andrewshkovskii @ 2.6.2010, 19:29) *
Ну так ты же можешь все это запомнить, хранить где-то, если это критично.

Угу, например кое-что уже есть:
QByteArray QHeaderView::saveState () const
bool QHeaderView::restoreState ( const QByteArray & state )


Насчет восстановления выделения - спорный вопрос. В общем случае, нет гарантий, что данная запись еще не удалена из БД.
Да и вообще, честно говоря, вся тема достаточна спорна. Конечно, я не знаю для какой предметной области разрабатывается данное ПО, но в большинстве случаев такая актуальность данных не нужна, только лишний трафик гонять. Можно вполне обойтись и кнопочкой "Обновить".
Кстати, в некоторых СУБД существуют нотификационные сервисы, позволяющие посылать уведомления при возникновении каких-либо событий в базе данных.
gmurik2,
2.6.2010, 16:29 Открытие своего файла в своей программе RazrFalcon,

2 страниц V   1 2 >
RSS Текстовая версия Сейчас: 26.4.2024, 2:57