main.cpp

См. документацию.
00001 /********************************************************************
00002 *==================         ЗАО "ННН"     ========================*
00003 *********************************************************************/
00012 /*
00013 * Support E-mail:   lit-uriy@yandex.ru
00014 * Лицензия:         GNU GPLv2
00015 * TabSize:          4
00016 * Encodding:        UTF-8 (w/o BOM) 
00017 *                        
00018 *                           
00019 *                           
00020 *                           
00021 * Log:
00022 * Date              Athor               Description
00023 * 
00024 *
00025 ********************************************************************/
00026 
00027 
00028 #include <QApplication>
00029 #include <QTextCodec>
00030 #include <QtGui/QStyleFactory>
00031 #include <QtGui/QStyle>
00032 #include <QStandardItemModel>
00033 #include <QTableView>
00034 
00035  
00036 #include "ystddelegate.h"
00037 
00038 int main(int argc, char *argv[])
00039 {
00040     QApplication app(argc, argv);
00041     
00042     // Установим кодировку для функции перевода tr()
00043     QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
00044     
00045     // Сделаем симпотичный вид
00046     QStyle *pStyle = QStyleFactory::create("Plastique");//Cleanlooks
00047     QApplication::setStyle(pStyle); //
00048     app.setPalette(pStyle->standardPalette());  
00049     
00050     // Создадим табличную модель 2 столца, 4 строки
00051     QStandardItemModel model(4, 2);
00052     
00053     // Создадим табличное представление
00054     // и установим для него модель
00055     QTableView tableView;
00056     tableView.setModel(&model);
00057     
00058     // создадим делегаты разных типов
00059     YStdDelegate delegate(YStdDelegate::TQSpinBox);
00060     YStdDelegate booldelegate(YStdDelegate::TBool);
00061     YStdDelegate datedelegate(YStdDelegate::TQDateTimeEdit);
00062     
00063     // Заполним модель данными
00064     for (int row = 0; row < 4; row++)
00065     {
00066         // создаем строчки
00067         for (int column = 0; column < 2; column++)
00068         {
00069             // создаем колонки
00070             QModelIndex index = model.index(row, column, QModelIndex());
00071             model.setData(index, QVariant((row) + (column)));//
00072         }
00073     }
00074     
00075     // Установим делегаты для представления
00076     tableView.setItemDelegate(&delegate);   // Для всех ячеек SpinBox
00077     tableView.setItemDelegateForRow(0, &booldelegate);// переопределим для первой строчки->булевый
00078     tableView.setItemDelegateForRow(1, &datedelegate);// переопределим для второй строчки->дата и время
00079     
00080     // Установим заголовок окна
00081     tableView.setWindowTitle(QObject::tr("Стандартные делегаты"));
00082     
00083     // Отобразим представление
00084     tableView.show();
00085     return app.exec();
00086 }


Copyright © 2008 ЗАО "ННН" Trademarks
YStdDelegate_Example 1.0.0