подписка



RSS  Подписатся на блог



Follow me!  Follow me!

комментарии

поиск

статистика



cya-st на Free-lance.ru

Аудитория блога

Programming Blogs - BlogCatalog Blog Directory  

Задание стиля в Qt приложении.

clock декабря 4, 2011 11:22 by author cya-st

В Qt приложениях есть одна особенность, это задание стилей прямо в параметре запуска, что на мой взгляд очень удобно.

И так пример: MyApp.exe  -style plastique.

Здесь перечислю некоторые стандартные стили:

  • Plastique;
  • GTK;
  • Cleanlooks;
  • WindowsXP;
  • WindowsVista;
  • Windows;
  • Macintosh;
  • CDE;
  • Motif;

Кроме того стили можно задавать и програмно:

QApplication::setStyle(new QPlastiqueStyle);

Также есть возможность создавать кастомные стили, но это уже тема уже другой статьи.

Надеюсь статья была для Вас полезной.





Небезопасный код в C#

clock апреля 21, 2011 10:46 by author 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 к определению функций и типов.





Win7 и TortoiseSVN

clock октября 3, 2010 06:49 by author cya-st

Столкнулся со следующей проблемой, у меня на Win7 стояла TortoiseSVN версии 1.6.10 все было нормально пока не пришло обновление 1.6.11. Установка этого обновления завершилась нормально, но после перезагрузки системы в проводнике не оказалось ни оверлейных значков на файлах ни контекстного меню TortoiseSVN.

После гугления, нашел очень простое решение: в свойствах инсталяционного файла TortoiseSVN уберите атрибут индексирования файла. Снова запустите установку TortoiseSVN. У меня SVN после очередной перезагрузки заработал нормально.





Qt 4.7.0 Released

clock сентября 21, 2010 16:31 by author cya-st

После нескольких месяцев кодинга, тестинга, дизайна, написания документации. Вышел релиз Qt 4.7.0.

Скачать можно отсюда.

Что нового здесь.





QSqlTableModel запрет редактирования колонки.

clock июля 26, 2010 06:07 by author cya-st

Сегодня короткая статья о том как сделать колонки только для чтения (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 полей. С вопросами прошу в комменты.





Релиз QtCreator 2.0

clock июня 24, 2010 05:44 by author cya-st

Вышел релиз знаменитой кросплатформенной IDE Qt Creator 2.0. Основные изменения связаны с поддержкой Symbian и MeeGo. Скачать можно здесь.