From b11ad2bb1946cf5356037f7a16e4e42558fd955e Mon Sep 17 00:00:00 2001 From: wumu <mayi@mayi.com> Date: 星期五, 10 五月 2024 22:37:52 +0800 Subject: [PATCH] 0510 --- internal_system_v1/threemergeproblemlist.cpp | 18 ++++++++ internal_system_v1/threemergeproblemlist.ui | 2 internal_system_v1/datedelegate.cpp | 5 +- internal_system_v1/comboboxdelegate.h | 3 + internal_system_v1/comboboxdelegate.cpp | 26 +++++++++++-- internal_system_v1/datedelegate.h | 4 + internal_system_v1/threemergeproblemlist.h | 3 + 7 files changed, 51 insertions(+), 10 deletions(-) diff --git a/internal_system_v1/comboboxdelegate.cpp b/internal_system_v1/comboboxdelegate.cpp index e5fde68..460506c 100644 --- a/internal_system_v1/comboboxdelegate.cpp +++ b/internal_system_v1/comboboxdelegate.cpp @@ -1,8 +1,10 @@ 锘�#include "comboboxdelegate.h" +#include <QFileDialog> -ComboBoxDelegate::ComboBoxDelegate(QStringList labels,QObject *parent) +ComboBoxDelegate::ComboBoxDelegate(QStringList labels,QObject *parent,bool edit) :QItemDelegate(parent), - m_labels(labels) + m_labels(labels), + m_edit(edit) { } @@ -10,6 +12,7 @@ QWidget *ComboBoxDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const { QComboBox *cbb = new QComboBox(parent); + cbb->setEditable(m_edit); for(int i=0;i<m_labels.size();++i){ cbb->addItem(m_labels.at(i)); } @@ -18,6 +21,21 @@ void ComboBoxDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { - QString val = ((QComboBox*)editor)->currentText(); - model->setData(index,val); + + + if(m_edit){// 鍙紪杈戠姸鎬� + int idx = ((QComboBox*)editor)->currentIndex(); + if(idx == 1){ // 闇�瑕佷笂浼� + QString fileName = QFileDialog::getOpenFileName(); + model->setData(index,fileName); + }else if(idx == 0){ // 褰曞叆 + ; + }else{ + QString val = ((QComboBox*)editor)->currentText(); + model->setData(index,val); + } + }else{ + QString val = ((QComboBox*)editor)->currentText(); + model->setData(index,val); + } } diff --git a/internal_system_v1/comboboxdelegate.h b/internal_system_v1/comboboxdelegate.h index 4e3afd9..77826a3 100644 --- a/internal_system_v1/comboboxdelegate.h +++ b/internal_system_v1/comboboxdelegate.h @@ -8,13 +8,14 @@ class ComboBoxDelegate : public QItemDelegate { public: - ComboBoxDelegate(QStringList labels,QObject *parent=0); + ComboBoxDelegate(QStringList labels,QObject *parent=0,bool edit=false); QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; private: QStringList m_labels; + bool m_edit; }; #endif // COMBOBOXDELEGATE_H diff --git a/internal_system_v1/datedelegate.cpp b/internal_system_v1/datedelegate.cpp index a3be851..ab45367 100644 --- a/internal_system_v1/datedelegate.cpp +++ b/internal_system_v1/datedelegate.cpp @@ -1,6 +1,7 @@ 锘�#include "datedelegate.h" -DateDelegate::DateDelegate(QObject *parent):QItemDelegate(parent) +DateDelegate::DateDelegate(QObject *parent,QString format) + :QItemDelegate(parent),m_formate(format) { } @@ -9,7 +10,7 @@ { QDateTimeEdit *de = new QDateTimeEdit(parent); de->setDate(QDate::currentDate()); - de->setDisplayFormat("yyyy"); + de->setDisplayFormat(m_formate); return de; } diff --git a/internal_system_v1/datedelegate.h b/internal_system_v1/datedelegate.h index 5d4d690..b16db62 100644 --- a/internal_system_v1/datedelegate.h +++ b/internal_system_v1/datedelegate.h @@ -8,11 +8,13 @@ class DateDelegate : public QItemDelegate { public: - DateDelegate(QObject *parent=0); + DateDelegate(QObject *parent=0,QString format="yyyy"); QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; +private: + QString m_formate; // 鏃堕棿鏍煎紡鍖栫殑鏍煎紡 }; #endif // DATEDELEGATE_H diff --git a/internal_system_v1/threemergeproblemlist.cpp b/internal_system_v1/threemergeproblemlist.cpp index eb6c8ad..5326204 100644 --- a/internal_system_v1/threemergeproblemlist.cpp +++ b/internal_system_v1/threemergeproblemlist.cpp @@ -125,7 +125,23 @@ ui->tableWidget->setItemDelegateForColumn(6,m_cbb_way); // 闂鎻忚堪浣愯瘉璧勬枡(涓婁紶鍙栬瘉鍗�) 褰曞叆鎴栬�呬笂浼� - ui->tableWidget->setItemDelegateForColumn(13,m_fdd); + //ui->tableWidget->setItemDelegateForColumn(13,m_fdd); + QStringList fwLabels; + fwLabels << "褰曞叆(鐩存帴杈撳叆鍚庡洖杞﹀嵆鍙�)"<<"涓婁紶"; + m_cbb_file_wri = new ComboBoxDelegate(fwLabels,this,true); + ui->tableWidget->setItemDelegateForColumn(13,m_cbb_file_wri); + ui->tableWidget->setItemDelegateForColumn(17,m_cbb_file_wri); + ui->tableWidget->setItemDelegateForColumn(23,m_cbb_file_wri); + + // 澶勭悊骞存湀鏃ユ椂闂� + m_date_ymd = new DateDelegate(this,"yyyy/MM/dd"); + ui->tableWidget->setItemDelegateForColumn(19,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(21,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(24,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(29,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(31,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(34,m_date_ymd); + // 鍔犺浇鍏徃鍚� readCompanyFromSQL(); diff --git a/internal_system_v1/threemergeproblemlist.h b/internal_system_v1/threemergeproblemlist.h index e34ae3a..1600cd2 100644 --- a/internal_system_v1/threemergeproblemlist.h +++ b/internal_system_v1/threemergeproblemlist.h @@ -71,6 +71,9 @@ ComboBoxDelegate *m_cbb_company; // 瀹¤鍗曚綅 ComboBoxDelegate *m_cbb_way; // 瀹¤鏂瑰紡 ComboBoxDelegate *m_cbb_pro; // 瀹¤椤圭洰 + ComboBoxDelegate *m_cbb_file_wri; // 闂鎻忚堪浣愯瘉 + + DateDelegate *m_date_ymd; // 鏃堕棿 骞存湀鏃� }; #endif // THREEMERGEPROBLEMLIST_H diff --git a/internal_system_v1/threemergeproblemlist.ui b/internal_system_v1/threemergeproblemlist.ui index d6c5bee..f4522ed 100644 --- a/internal_system_v1/threemergeproblemlist.ui +++ b/internal_system_v1/threemergeproblemlist.ui @@ -452,7 +452,7 @@ </column> <column> <property name="text"> - <string>娑夊強閲戦</string> + <string>娑夊強閲戦(涓囧厓)</string> </property> </column> <column> -- Gitblit v1.8.0