
декабря 4, 2011 11:22 by
cya-st
В Qt приложениях есть одна особенность, это задание стилей прямо в параметре запуска, что на мой взгляд очень удобно.
И так пример: MyApp.exe -style plastique.
Здесь перечислю некоторые стандартные стили:
- Plastique;
- GTK;
- Cleanlooks;
- WindowsXP;
- WindowsVista;
- Windows;
- Macintosh;
- CDE;
- Motif;
Кроме того стили можно задавать и програмно:
QApplication::setStyle(new QPlastiqueStyle);
Также есть возможность создавать кастомные стили, но это уже тема уже другой статьи.
Надеюсь статья была для Вас полезной.
cd985784-b241-4e8f-aac4-f56ccdb6b1ee|1|5.0

апреля 21, 2011 10:46 by
cya-st
Для того чтобы использовать указатели в C#, следует специально объявить блок так называемого "небезопасного кода". Блок объявляется с помощью ключевого слова unsafe. Например:
1: class Test
2: {
3: void Func1()
4: {
5: unsafe
6: {
7: //Work with pointers
8: }
9: //Work without pointers
10: }
11: }
Также можно использовать ключевое слово unsafe к определению функций и типов.
47330ddf-3cd7-4f96-8594-fce9098f1778|2|5.0

октября 3, 2010 06:49 by
cya-st
Столкнулся со следующей проблемой, у меня на Win7 стояла TortoiseSVN версии 1.6.10 все было нормально пока не пришло обновление 1.6.11. Установка этого обновления завершилась нормально, но после перезагрузки системы в проводнике не оказалось ни оверлейных значков на файлах ни контекстного меню TortoiseSVN.
После гугления, нашел очень простое решение: в свойствах инсталяционного файла TortoiseSVN уберите атрибут индексирования файла. Снова запустите установку TortoiseSVN. У меня SVN после очередной перезагрузки заработал нормально.
78190dfe-63fe-4158-a49b-e8a902529cb4|2|5.0

сентября 21, 2010 16:31 by
cya-st
После нескольких месяцев кодинга, тестинга, дизайна, написания документации. Вышел релиз Qt 4.7.0.
Скачать можно отсюда.
Что нового здесь.
0ca012e3-a1a0-49e8-8074-2dc0be7d54eb|0|.0
Сегодня короткая статья о том как сделать колонки только для чтения (ReadOnly) в QTableView через модель.
И так определяем клас модели. В класе модели нужно переопределить метод flag:
1: class MyModel : public QSqlTableModel //Model
2: {
3: Q_OBJECT
4: public
5: MyModel(QObject * parent = 0, QSqlDatabase db = QSqlDatabase());
6: Qt::ItemFlags flags(const QModelIndex &index) const; //В этой функции запрещаются колонки на редактирование
7: //...
8: };
Реализовываем виртуальный метод flag:
1: Qt::ItemFlags MyModel::flags(const QModelIndex &index) const
2: {
3: Qt::ItemFlags flags = QSqlQueryModel::(index);
4: if (index.column() == 5 || index.column() == 9 ||
5: index.column() == 10)
6: flags |= Qt::ItemIsEditable;
7: return flags;
8: }
Колонки 5, 9, 10 (нумерация колонок начинается с 0) можно редактировать все остальные поля только ReadOnly.
Теперь подключаем модель:
1: modelMain = new MyModel;
2: modelMain->setTable("TableTemp");
3: //...
4: modelMain->select();
5: modelMain->setEditStrategy(QSqlTableModel::OnFieldChange);
6: m_ui->tableView->setModel(modelMain);
Вот простейшая реализация задачи задания ReadOnly полей. С вопросами прошу в комменты.
bd547e06-3d5d-4a3f-afe7-b50712e780a1|1|5.0
Вышел релиз знаменитой кросплатформенной IDE Qt Creator 2.0. Основные изменения связаны с поддержкой Symbian и MeeGo. Скачать можно здесь.
dbabfa9b-1ec1-4c6c-953e-ac731870c97d|1|5.0