ColumnEditorModel::ColumnEditorModel(QObject *oParent) : QStandardItemModel(oParent) { setHorizontalHeaderItem(COL_NAME, new QStandardItem(spt::string::toQt("Name"))); setHorizontalHeaderItem(COL_DATATYPE, new QStandardItem(spt::string::toQt("Datatype"))); insertRow(0); }
void OnlineList::createViewTitle() { // 只允许单选 setSelectionMode(QAbstractItemView::SingleSelection); // 每次选中一行 setSelectionBehavior(QAbstractItemView::SelectRows); // 默认不允许用户编辑数据 setEditTriggers(QAbstractItemView::NoEditTriggers); // 使列完全填充并平分 horizontalHeader()->setResizeMode(QHeaderView::Stretch); // 数据头左对齐 horizontalHeader()->setDefaultAlignment(Qt::AlignHCenter); // 隐藏左边垂直列号 // verticalHeader()->setVisible(false); // 设置列数 setColumnCount(3); // 设置不显示格子线 setShowGrid(false); // 设置表头 setHorizontalHeaderItem(0, new QTableWidgetItem(tr("昵称"))); setHorizontalHeaderItem(1, new QTableWidgetItem(tr("主机名"))); setHorizontalHeaderItem(2, new QTableWidgetItem(tr("IP地址"))); }
VariableListWidget::VariableListWidget(const VariableList & variableList, QWidget *parent) : QTableWidget(parent) { // constructor of variable table // make variable table setRowCount(0); setColumnCount(0); setColumnCount(2); // set headers for columns QTableWidgetItem *nameItem = new QTableWidgetItem; QTableWidgetItem *varItem = new QTableWidgetItem; nameItem->setText(tr("Variable List:")); varItem->setText(tr("Value:")); setHorizontalHeaderItem(0,nameItem); setHorizontalHeaderItem(1,varItem); setSortingEnabled(false); // control geometry setMinimumWidth(300); horizontalHeader()->setResizeMode(QHeaderView::Stretch); // fill list updateList(variableList); // add connections connect(this,SIGNAL(itemActivated(QTableWidgetItem*)), this,SLOT(itemValue(QTableWidgetItem*))); }
void tableView::RedoTable() { clear(); if (pDoc->m_meta_graph->viewingProcessed()) { const AttributeTable& table = pDoc->m_meta_graph->getAttributeTable(); const AttributeIndex& index = table.m_display_index; int col = pDoc->m_meta_graph->getDisplayedAttribute(); int i; m_column_count = table.getColumnCount(); setColumnCount(m_column_count+1); connect(horizontalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(colum_Sort(int))); verticalHeader()->hide(); QTableWidgetItem *Item = new QTableWidgetItem("Ref Number"); Item->setTextAlignment(Qt::AlignLeft); setHorizontalHeaderItem(0, Item); for (i = 0; i < m_column_count; i++) { QTableWidgetItem *Item = new QTableWidgetItem(QString("%1").arg(table.getColumnName(i).c_str())); Item->setTextAlignment(Qt::AlignLeft); setHorizontalHeaderItem(i+1, Item); } m_row_count = table.getRowCount(); setRowCount(m_row_count); PrepareCache(0, m_curr_row); } }
void WidgetTableProgression::initialize(int rows, QString progression) { m_completing = true; setRowCount(rows); setColumnCount(2); setHorizontalHeaderItem(0, new QTableWidgetItem(NAME_LEVEL)); setHorizontalHeaderItem(1, new QTableWidgetItem(progression)); verticalHeader()->hide(); }
void mail_item_model::init() { QStringList headers; for (int i=0; i<ncols; i++) { headers << tr(m_column_names[i]); } setHorizontalHeaderLabels(headers); setHorizontalHeaderItem((int)column_attch, new QStandardItem(UI_ICON(FT_ICON16_ATTACH), "")); setHorizontalHeaderItem((int)column_note, new QStandardItem(UI_ICON(FT_ICON16_EDIT_NOTE_GREY), "")); m_display_sender_mode = get_config().get_string("sender_displayed_as"); }
void Table::setMaskType(PolyEdit::Shape type) { isReady = false; clear(); mMask->clear(); switch (type) { case PolyEdit::Polygon: { setColumnCount(2); setRowCount(1); setHorizontalHeaderItem(0, new Cell("X")); setHorizontalHeaderItem(1, new Cell("Y")); break; } case PolyEdit::Circle: { setColumnCount(1); setRowCount(3); setHorizontalHeaderItem(0, new Cell("Circle")); setVerticalHeaderItem(0,new Cell("X")); setVerticalHeaderItem(1,new Cell("Y")); setVerticalHeaderItem(2,new Cell("Radius")); break; } case PolyEdit::Box: { setColumnCount(1); setRowCount(4); setHorizontalHeaderItem(0, new Cell("Box")); setVerticalHeaderItem(0,new Cell("Left")); setVerticalHeaderItem(1,new Cell("Top")); setVerticalHeaderItem(2,new Cell("Width")); setVerticalHeaderItem(3,new Cell("Height")); break; } case PolyEdit::Invalid: { break; } } clearContents(); mType = type; horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); mMask->setType(type); isReady = true; }
void KeyValuesTable::AdjustColumnCount(bool isReadOnly) { int colCount = isReadOnly ? 2 : 3; int currentCount = columnCount(); for(int current = currentCount - 1; current > -1; current--) removeColumn(0); for(int current(0); current < colCount ; current++) { insertColumn(current); //horizontalHeader()-> setLabel(current, colNames[current]); QTableWidgetItem * item = horizontalHeaderItem(current); if(!item) { item = new QTableWidgetItem(); setHorizontalHeaderItem(current, item); } horizontalHeaderItem(current)->setText(colNames[current]); } setColumnStretchable(1, true); if(!isReadOnly) { setColumnStretchable(2, false); resizeColumnToContents(2); } horizontalHeader()->setSectionResizeMode(0, QHeaderView::Interactive); horizontalHeader()->setSectionResizeMode(1, QHeaderView::Interactive); }
void ParameterTable::initTable() { setRowCount(0); verticalHeader()->setVisible(false); setSelectionMode(QAbstractItemView::NoSelection); //setNumRows(3); setColumnCount(5); setHorizontalHeaderItem(0, new QTableWidgetItem("Description")); setHorizontalHeaderItem(1, new QTableWidgetItem("Name")); setHorizontalHeaderItem(2, new QTableWidgetItem("global")); setHorizontalHeaderItem(3, new QTableWidgetItem("Value")); setHorizontalHeaderItem(4, new QTableWidgetItem("Unit")); setShowGrid(false); }
PatientTreeModel::PatientTreeModel(QString root_path, QObject* parent /*= nullptr*/) : QStandardItemModel(), root_path_(root_path) { setHorizontalHeaderItem(0, new QStandardItem(QString("Patient"))); ReadAll(); Build(); }
/** * @brief ChordTableWidget::ChordTableWidget * @param column Nombre de colonnes * @param row Nombre de lignes * @param parent Parent du widget * * Initialise la grille d'accords à une taille donnée. */ ChordTableWidget::ChordTableWidget(int column, int row, QWidget* parent) : QTableWidget(parent), m_barsize(1), m_savedItem(0) { setEnabled(false); setColumnCount(column); insertChordRow(0, row); setHorizontalHeaderItem(this->columnCount() - 1, new QTableWidgetItem(tr("Annotation"))); for (int c = 0 ; c < this->columnCount() - 1 ; c ++) for (int r = 0 ; r < this->rowCount() ; r ++) { if(c == 0 && r == 0) this->setItem(r, c, new CaseItem(false)); else this->setItem(r, c, new CaseItem()); this->setColumnWidth(c, 60); } for (int r = 0 ; r < this->rowCount() ; r ++) { this->setItem(r, this->columnCount() - 1, new QTableWidgetItem()); this->setRowHeight(r, 40); } this->setEnabled(true); //menu clic droit m_rightClickMenu = new QMenu(); this->setContextMenuPolicy(Qt::CustomContextMenu); connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(ShowContextMenu(const QPoint&))); //actions du menu m_properties = new QAction(tr("Properties"), this); m_playFromHere = new QAction(tr("Play from here"), this); connect(m_properties, SIGNAL(triggered()), this, SLOT(showProperties())); connect(m_playFromHere, SIGNAL(triggered()), this, SLOT(playFromHere())); m_setPartDialog = new PartSetter(this); //connect(this, SIGNAL(play(int)), parent, SIGNAL(play(int))); // gestion des erreurs de saisie connect(this, SIGNAL(itemChanged(QTableWidgetItem*)), this, SLOT(itemChanged_slot(QTableWidgetItem*))); connect(this, SIGNAL(currentItemChanged(QTableWidgetItem* , QTableWidgetItem* )), this, SLOT(currentItemChanged_slot(QTableWidgetItem* , QTableWidgetItem* ))); m_currentItem = (CaseItem*) this->item(0, 0); m_lastPlayedCase = 0; setCasePart("Intro"); m_caseItemDelegate = new CaseItemDelegate(this); connect(this, SIGNAL(barsizeChanged(int)), m_caseItemDelegate, SLOT(setBarSize(int))); connect(this, SIGNAL(barsizeChanged(int)), this, SLOT(setBarSize(int))); setItemDelegate(m_caseItemDelegate); }
CDCTableWidget::CDCTableWidget(QWidget *parent) : QTableWidget(parent) { setSelectionMode(QAbstractItemView::SingleSelection); setSelectionBehavior(QAbstractItemView::SelectRows); setEditTriggers(QAbstractItemView::NoEditTriggers); setColumnCount(3); setHorizontalHeaderItem(0, new QTableWidgetItem("Type")); setHorizontalHeaderItem(1, new QTableWidgetItem("Date/Time")); setHorizontalHeaderItem(2, new QTableWidgetItem("Title")); setColumnWidth(0, 40); setColumnWidth(1, 100); setColumnWidth(2, 160); setContextMenuPolicy(Qt::CustomContextMenu); connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(onContextMenu(const QPoint&))); connect(this, SIGNAL(itemSelectionChanged()), this, SLOT(onItemSelectionChanged())); connect(this, SIGNAL(itemDoubleClicked(QTableWidgetItem *)), this, SLOT(onItemDoubleClicked(QTableWidgetItem *))); }
Table::Table(QWidget *parent, QOpenGLWidget *glParent) : QTableWidget(parent) { mRender = true; mType = PolyEdit::Polygon; isReady = false; mMask = new Mask(glParent); setColumnCount(2); horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); setHorizontalHeaderItem(0, new Cell("X")); setHorizontalHeaderItem(1, new Cell("Y")); setRowCount(1); connect(this, &QTableWidget::itemChanged, this, &Table::itemChanged); setItem(0,0, new Cell("")); setItem(0,1, new Cell("")); isReady = true; }
void QCustomTableWidget::addProperty(int index) { if (index < 0) { // if no column is selected, we insert it at the end index += columnCount(); } if(pChangePropertyDial->exec()==QDialog::Accepted) { // modifying the property/character Lists if (pProperties) { std::string property = pChangePropertyDial->text().toStdString(); pProperties->add(property, index+1); emit modificationDone(new CharacterModification(pProperties, property, pCharacters, index+1)); } if (pCharacters) { for (CharacterList::iterator it=pCharacters->begin(); it != pCharacters->end(); it++) { if ((unsigned int)index+1 < it->propertyNumber()) { // adding a property it->addProperty("0",index+1); } } } // updating the display int row_nb = rowCount(); // created cells iCreatedCells = row_nb; insertColumn(index+1); for (int i = 0; i < row_nb; i++) { QTableWidgetItem *col1 = new QTableWidgetItem("0"); setItem(i,index+1,col1); } QTableWidgetItem *columnHeaderItem = horizontalHeaderItem(index+1); if (columnHeaderItem) { columnHeaderItem->setText(pChangePropertyDial->text()); } else { columnHeaderItem = new QTableWidgetItem(pChangePropertyDial->text()); setHorizontalHeaderItem(index+1, columnHeaderItem); } scrollTo(-1, index+1); } }
//================================================================================ //================================================================================ //================================================================================ LoggingTableWidget::LoggingTableWidget( int rows, int columns, QWidget * parent ) : QTableWidget(rows,columns,parent), RowsAdded(false) { TimerScrollToBottom = new QTimer; TimerScrollToBottom->setInterval(100); connect(TimerScrollToBottom,SIGNAL(timeout()),SLOT(ScrollToBottom())); TimerScrollToBottom->start(); setRowCount(0); setColumnCount(4); verticalHeader()->setSectionResizeMode(QHeaderView::Fixed); verticalHeader()->setDefaultSectionSize(20); // verticalHeader->setVisible(false); setSelectionBehavior(QAbstractItemView::SelectRows); horizontalHeader()->setStretchLastSection(true); QTableWidgetItem *time = new QTableWidgetItem("Time"); time->setBackground(Qt::lightGray); setHorizontalHeaderItem( 0, time ); QTableWidgetItem *logLevel = new QTableWidgetItem("Log level"); logLevel->setBackground(Qt::lightGray); setHorizontalHeaderItem( 1, logLevel ); QTableWidgetItem *category = new QTableWidgetItem("Category"); category->setBackground(Qt::lightGray); setHorizontalHeaderItem( 2, category ); QTableWidgetItem *message = new QTableWidgetItem("Message"); message->setBackground(Qt::lightGray); setHorizontalHeaderItem( 3, message ); horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); }
void TableView::setHorizontalHeaderLabels(const QStringList &labels) { TableItem *item = 0; for (int i = 0; i < _imp->model->columnCount() && i < labels.count(); ++i) { item = _imp->model->horizontalHeaderItem(i); if (!item) { item = _imp->model->createItem(); setHorizontalHeaderItem(i, item); } item->setText( labels.at(i) ); } }
void Spreadsheet::clear() { setRowCount(0); setColumnCount(0); setRowCount(RowCount); setColumnCount(ColumnCount); for (int i = 0; i < ColumnCount; ++i) { QTableWidgetItem *item = new QTableWidgetItem; item->setText(QString(QChar('A' + i))); setHorizontalHeaderItem(i, item); } setCurrentCell(0, 0); }
void VarTreeModel::updateHeader() { vector<GuiColumnFlag> v=opts.getColumns(); for (unsigned int i = 0;i<v.size();i++) { QStandardItem * head=new QStandardItem(); if ((v[i] & (GUI_COLUMN_FLAG_TEXT_LABEL)) != 0) { head->setText("Variable"); } else if ((v[i] & (GUI_COLUMN_FLAG_TEXT_VALUE)) != 0) { head->setText("Value"); } else { head->setText(""); } head->setTextAlignment(Qt::AlignLeft); setHorizontalHeaderItem(i,head); } }
void CollectionInfoModel::set_data (const QList < QHash < QString, QVariant > > &data) { /* Clear the model */ beginRemoveRows (QModelIndex (), 0, rowCount ()); clear (); endRemoveRows (); if (data.size() == 0) { // FIXME: This should not happen, but it does qDebug() << "FIXME:" << __FILE__ << " line: " << __LINE__; return; } /* take the headers and add the columns */ QStringList s = data[0].keys (); setColumnCount (s.size ()); for (int i = 0; i < s.size (); i ++) { /* capitilize this string later */ QStandardItem *m = new QStandardItem (s.value (i)); m->setEditable (false); setHorizontalHeaderItem (i, m); } /* run through them */ if (m_all_field) { QStandardItem *item = new QStandardItem (tr ("[ All ]")); item->setEditable (false); appendRow (item); } for (int i = 0; i < data.size (); i ++) { QList<QStandardItem *> l; QHash<QString, QVariant> hash = data[i]; for (int i = 0; i < s.size (); i ++) { QStandardItem *item = new QStandardItem (hash[s.value (i)].toString ()); item->setEditable (false); l.append (item); } appendRow (l); } }
MapRoutesTable::MapRoutesTable(QWidget *aparent) : QTableWidget(aparent) { columnNames.push_back("id"); columnNames.push_back("name"); columnNames.push_back("type"); setColumnCount(columnNames.length()); setRowCount(0); for (int i=0; i<columnNames.length(); i++) { QTableWidgetItem *item = new QTableWidgetItem; item->setText(columnNames[i]); setHorizontalHeaderItem(i, item); } // id column setColumnWidth(0, 30); }
//! //! \brief Add an entry for this table //! \param strList List of entries //! bool TableStatusWidget::addEntry(const int &VehicleID) { if(!m_VehicleInformationP.contains(VehicleID)) { int row_number = this->rowCount(); this->insertRow(row_number); setHorizontalHeaderItem(0, new QTableWidgetItem(QString("Vehicle ID"))); setHorizontalHeaderItem(1, new QTableWidgetItem(QString("Connection"))); setHorizontalHeaderItem(2, new QTableWidgetItem(QString("ACTIVE"))); setHorizontalHeaderItem(3, new QTableWidgetItem(QString("GPS Sat"))); setHorizontalHeaderItem(4, new QTableWidgetItem(QString("Battery V"))); setHorizontalHeaderItem(5, new QTableWidgetItem(QString("Battery A"))); QTableWidgetItem *item0 = new QTableWidgetItem(QString::number(VehicleID)); QTableWidgetItem *item1 = new QTableWidgetItem("~"); QTableWidgetItem *item2 = new QTableWidgetItem("~"); QTableWidgetItem *item3 = new QTableWidgetItem("~"); QTableWidgetItem *item4 = new QTableWidgetItem("~"); QTableWidgetItem *item5 = new QTableWidgetItem("~"); item0->setTextAlignment(Qt::AlignCenter); item1->setTextAlignment(Qt::AlignCenter); item2->setTextAlignment(Qt::AlignCenter); item3->setTextAlignment(Qt::AlignCenter); item4->setTextAlignment(Qt::AlignCenter); item5->setTextAlignment(Qt::AlignCenter); setItem(row_number,0,item0); setItem(row_number,1,item1); setItem(row_number,2,item2); setItem(row_number,3,item3); setItem(row_number,4,item4); setItem(row_number,5,item5); TableEntry newEntry; newEntry.Vehicle_ID = item0; newEntry.Connection = item1; newEntry.Armed = item2; newEntry.GPS_Number = item3; newEntry.Battery_V = item4; newEntry.Battery_A = item5; m_VehicleInformationP.insert(VehicleID,newEntry); return true; } return false; }
void PumpSpreadsheet::clearData() { setRowCount(0); setColumnCount(0); setColumnCount(ColumnCount); setHorizontalHeaderItem(Date, new QTableWidgetItem(tr("Date"))); setHorizontalHeaderItem(Time, new QTableWidgetItem(tr("Time"))); setHorizontalHeaderItem(Pump, new QTableWidgetItem(tr("Pump"))); setHorizontalHeaderItem(Company, new QTableWidgetItem(tr("Company"))); setHorizontalHeaderItem(User, new QTableWidgetItem(tr("User"))); setHorizontalHeaderItem(Quantity, new QTableWidgetItem(tr("Quantity"))); setHorizontalHeaderItem(Status, new QTableWidgetItem(tr("Status"))); }
int LDFCommonTableWidget::CreateColumns(QList<QString>& strColumnNames) { clear(); int nColumnClount =strColumnNames.size(); setColumnCount(nColumnClount); setRowCount(0); int nColumn = 0; int nWidth = (width()-10)/strColumnNames.size(); for ( auto itr : strColumnNames ) { QTableWidgetItem* pTablewidgetitem = new QTableWidgetItem(); pTablewidgetitem->setText(strColumnNames.at(nColumn)); pTablewidgetitem->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter|Qt::AlignCenter); pTablewidgetitem->setFont(m_ldfFont); setColumnWidth(nColumn, nWidth); setHorizontalHeaderItem(nColumn++, pTablewidgetitem); } return 0; }
void QCustomTableWidget::addSkill(int index) { if(pChangeSkillDial->exec()==QDialog::Accepted) { // modifying the skill/character Lists if (pSkills != NULL) { pSkills->add(pChangeSkillDial->text().toStdString(),index+1); } if (pCharacters != NULL) { for (CharacterList::iterator it=pCharacters->begin(); it != pCharacters->end(); it++) { if ((unsigned int)index+1 < it->skillNumber()) { // adding a skill it->addSkill("0",index+1); } } } // updating the display insertColumn(index+1); int row_nb; row_nb = rowCount(); for (int i = 0; i < row_nb; i++) { QTableWidgetItem *col1 = new QTableWidgetItem("0"); setItem(i,index+1,col1); } QTableWidgetItem *columnHeaderItem = horizontalHeaderItem(index+1); if (columnHeaderItem != NULL) { columnHeaderItem->setText(pChangeSkillDial->text()); } else { columnHeaderItem = new QTableWidgetItem(pChangeSkillDial->text()); setHorizontalHeaderItem(index+1, columnHeaderItem); } } resizeColumnsToContents(); }
void QCustomTableWidget::setLists(SkillList *skills, CharacterList *chars) { pSkills = skills; pCharacters = chars; clear(); setColumnCount(0); setRowCount(0); int i=0; for (SkillList::iterator it = skills->begin(); it != skills->end(); it++) { insertColumn(i); setHorizontalHeaderItem(i,new QTableWidgetItem((*it).c_str())); i++; } int j=0,k; for (CharacterList::iterator it = chars->begin(); it != chars->end(); it++) { insertRow(j); setVerticalHeaderItem(j,new QTableWidgetItem(((*it).name()+"\n"+(*it).playerName()).c_str())); // creating items for (k=0;k<i;k++) { } // setting values k = 0; for (Character::SkillIterator itSkill = (*it).begin(); itSkill != (*it).end() && k<i; itSkill++) { setItem(j,k,new QTableWidgetItem((*itSkill).c_str())); k++; } for (;k<i;k++) { setItem(j,k,new QTableWidgetItem("0")); } j++; } resizeRowsToContents(); resizeColumnsToContents(); }
void QCustomTableWidget::editSkill(int index) { if(pChangeSkillDial->exec()==QDialog::Accepted) { QTableWidgetItem *columnHeaderItem = horizontalHeaderItem(index); if (columnHeaderItem != NULL) { columnHeaderItem->setText(pChangeSkillDial->text()); } else { columnHeaderItem = new QTableWidgetItem(pChangeSkillDial->text()); setHorizontalHeaderItem(index, columnHeaderItem); } // updating the SkillList if (pSkills != NULL) { (*pSkills)[index] = pChangeSkillDial->text().toStdString(); } } resizeColumnToContents(index); }
TableStatusWidget::TableStatusWidget(QWidget *parent) : QTableWidget(parent) { setColumnCount(6); QTableWidgetItem *item0 = new QTableWidgetItem("Vehicle ID"); QTableWidgetItem *item1 = new QTableWidgetItem("Connection"); QTableWidgetItem *item2 = new QTableWidgetItem("ACTIVE"); QTableWidgetItem *item3 = new QTableWidgetItem("GPS Sat"); QTableWidgetItem *item4 = new QTableWidgetItem("Battery V"); QTableWidgetItem *item5 = new QTableWidgetItem("Battery A"); item0->setTextAlignment(Qt::AlignCenter); item1->setTextAlignment(Qt::AlignCenter); item2->setTextAlignment(Qt::AlignCenter); item3->setTextAlignment(Qt::AlignCenter); item4->setTextAlignment(Qt::AlignCenter); item5->setTextAlignment(Qt::AlignCenter); setHorizontalHeaderItem(0, item0); setHorizontalHeaderItem(1, item1); setHorizontalHeaderItem(2, item2); setHorizontalHeaderItem(3, item3); setHorizontalHeaderItem(4, item4); setHorizontalHeaderItem(5, item5); //horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed); //table can not be edited setEditTriggers(QAbstractItemView::NoEditTriggers); //no horizontal scroll bars setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); //turn off header verticalHeader()->setVisible(false); }
void QCustomTableWidget::updateDisplay(int row, int column) { // storing the scroll state QScrollBar *hbar = horizontalScrollBar(); QScrollBar *vbar = verticalScrollBar(); int x = hbar->value(); int y = vbar->value(); // iterating over characters and properties to populate the table bUpdate = true; clear(); setColumnCount(0); setRowCount(0); int i=0; for (PropertyList::iterator it = pProperties->begin(); it != pProperties->end(); it++) { insertColumn(i); setHorizontalHeaderItem(i,new QTableWidgetItem((*it).c_str())); i++; } int j=0,k; for (CharacterList::iterator it = pCharacters->begin(); it != pCharacters->end(); it++) { insertRow(j); setVerticalHeaderItem(j, new QTableWidgetItem(headerText((*it).name().c_str(), (*it).shortDescription().c_str()))); // creating items for (k=0;k<i;k++) { } // setting values k = 0; for (Character::PropertyIterator itProperty = (*it).begin(); itProperty != (*it).end() && k<i; itProperty++) { setItem(j,k,new QTableWidgetItem((*itProperty).c_str())); k++; } for (;k<i;k++) { setItem(j,k,new QTableWidgetItem("0")); } j++; } bUpdate = false; if (row > -1 || column > -1) { // restoring the scroll state hbar->setValue(x); vbar->setValue(y); scrollTo(row, column); // setting the current cell, row or column QItemSelectionModel::SelectionFlags flags = QItemSelectionModel::Select; if (row == -1) { flags |= QItemSelectionModel::Columns; row = 0; } if (column == -1) { flags |= QItemSelectionModel::Rows; column = 0; } setCurrentCell(row, column, flags); } }
/// 这个需要定时刷新的,使用model是否会好点 void QJDHistoryBrowser::setLogFile() { /// 最好界面上哪里转一圈.... /// Refreashing History Log hashFilePath.clear(); //刷新清除 /// -------------------------head--------------------/// QTableWidgetItem *headItem1=new QTableWidgetItem; QTableWidgetItem *headItem2=new QTableWidgetItem; QTableWidgetItem *headItem3=new QTableWidgetItem; QTableWidgetItem *headItem4=new QTableWidgetItem; headItem1->setText("Name"); headItem2->setText("Stat"); headItem3->setText("Progress"); headItem4->setText("Last Modify"); // 为什么没有显示 setHorizontalHeaderItem(0,headItem1); setHorizontalHeaderItem(1,headItem2); setHorizontalHeaderItem(2,headItem3); setHorizontalHeaderItem(3,headItem4); /// -----------------------内容------------------------/// logDir.setPath("log"); //就是本地目录 logDir.setFilter(QDir::Files | QDir::NoSymLinks); //是文件,不需要链接 fileInfoList=logDir.entryInfoList(); QStringList fileNameList; QStringList filePathList; QStringList fileTimeList; for(int i=0;i<fileInfoList.size();i++) { if(fileInfoList.at(i).baseName().contains("job")) { // qDebug()<<"~~~~~~~~"<<fileInfoList.at(i).baseName(); fileNameList.append(fileInfoList.at(i).baseName()); filePathList.append(fileInfoList.at(i).filePath()); fileTimeList.append(fileInfoList.at(i).lastModified().toString("yyyy-MM-dd,hh:mm:ss")); } } if(fileNameList.size()>0) { _hasLog=true; } else { _hasLog=false; } /// 还需要添加“进度” for(int i=0;i<fileNameList.size();i++) { hashFilePath.insert(i,filePathList.at(i)); // 保存文件路径 QTableWidgetItem *nameItem=new QTableWidgetItem; QTableWidgetItem *statItem=new QTableWidgetItem; QTableWidgetItem *timeItem=new QTableWidgetItem; QProgressBar *progressBar=new QProgressBar; progressBar->setAlignment(Qt::AlignCenter); nameItem->setText(fileNameList.at(i)); if(getLogStat(filePathList.at(i))=="Success") { statItem->setTextColor(QColor(0, 0, 255, 255)); statItem->setIcon(QIcon(":/images/success.png")); } if(getLogStat(filePathList.at(i))=="Error") { statItem->setTextColor(QColor(255, 0, 0, 255)); statItem->setIcon(QIcon(":/images/error.png")); } if(getLogStat(filePathList.at(i))=="Failed") { statItem->setTextColor(QColor(139,129,76 ,255)); statItem->setIcon(QIcon(":/images/retina-failed.png")); } statItem->setText(getLogStat(filePathList.at(i))); timeItem->setText(fileTimeList.at(i)); progressBar->setValue(getLogProgress(filePathList.at(i))); // getLogProgress this->setItem(i,0,nameItem); // 名字 this->setItem(i,1,statItem); // 状态 this->setCellWidget(i,2,progressBar); this->setItem(i,3,timeItem); // 时间 /// 还需要显示状态,但是需要读取文件 } if(fileNameList.size()>=saveSelect) { setCurrentCell(saveSelect,0); } /// 需要显示的信息 // job名称,状态,最后修改时间----双击显示日志 }
PrintQueueModel::PrintQueueModel(const QString &destName, WId parentId, QObject *parent) : QStandardItemModel(parent), m_printer(new KCupsPrinter(destName)), m_jobRequest(0), m_destName(destName), m_whichjobs(CUPS_WHICHJOBS_ACTIVE), m_parentId(parentId), m_subscriptionId(-1) { setHorizontalHeaderItem(ColStatus, new QStandardItem(i18n("Status"))); setHorizontalHeaderItem(ColName, new QStandardItem(i18n("Name"))); setHorizontalHeaderItem(ColUser, new QStandardItem(i18n("User"))); setHorizontalHeaderItem(ColCreated, new QStandardItem(i18n("Created"))); setHorizontalHeaderItem(ColCompleted, new QStandardItem(i18n("Completed"))); setHorizontalHeaderItem(ColPages, new QStandardItem(i18n("Pages"))); setHorizontalHeaderItem(ColProcessed, new QStandardItem(i18n("Processed"))); setHorizontalHeaderItem(ColSize, new QStandardItem(i18n("Size"))); setHorizontalHeaderItem(ColStatusMessage, new QStandardItem(i18n("Status Message"))); setHorizontalHeaderItem(ColPrinter, new QStandardItem(i18n("Printer"))); // Setup the attributes we want from jobs m_jobAttributes << KCUPS_JOB_ID; m_jobAttributes << KCUPS_JOB_NAME; m_jobAttributes << KCUPS_JOB_K_OCTETS; m_jobAttributes << KCUPS_JOB_K_OCTETS_PROCESSED; m_jobAttributes << KCUPS_JOB_STATE; m_jobAttributes << KCUPS_TIME_AT_COMPLETED; m_jobAttributes << KCUPS_TIME_AT_CREATION; m_jobAttributes << KCUPS_TIME_AT_PROCESSING; m_jobAttributes << KCUPS_JOB_PRINTER_URI; m_jobAttributes << KCUPS_JOB_ORIGINATING_USER_NAME; m_jobAttributes << KCUPS_JOB_MEDIA_PROGRESS; m_jobAttributes << KCUPS_JOB_MEDIA_SHEETS; m_jobAttributes << KCUPS_JOB_MEDIA_SHEETS_COMPLETED; m_jobAttributes << KCUPS_JOB_PRINTER_STATE_MESSAGE; m_jobAttributes << KCUPS_JOB_PRESERVED; // This is emitted when a job change it's state connect(KCupsConnection::global(), SIGNAL(jobState(QString,QString,QString,uint,QString,bool,uint,uint,QString,QString,uint)), this, SLOT(insertUpdateJob(QString,QString,QString,uint,QString,bool,uint,uint,QString,QString,uint))); // This is emitted when a job is created connect(KCupsConnection::global(), SIGNAL(jobCreated(QString,QString,QString,uint,QString,bool,uint,uint,QString,QString,uint)), this, SLOT(insertUpdateJob(QString,QString,QString,uint,QString,bool,uint,uint,QString,QString,uint))); // This is emitted when a job is stopped connect(KCupsConnection::global(), SIGNAL(jobStopped(QString,QString,QString,uint,QString,bool,uint,uint,QString,QString,uint)), this, SLOT(insertUpdateJob(QString,QString,QString,uint,QString,bool,uint,uint,QString,QString,uint))); // This is emitted when a job has it's config changed connect(KCupsConnection::global(), SIGNAL(jobConfigChanged(QString,QString,QString,uint,QString,bool,uint,uint,QString,QString,uint)), this, SLOT(insertUpdateJob(QString,QString,QString,uint,QString,bool,uint,uint,QString,QString,uint))); // This is emitted when a job change it's progress connect(KCupsConnection::global(), SIGNAL(jobProgress(QString,QString,QString,uint,QString,bool,uint,uint,QString,QString,uint)), this, SLOT(insertUpdateJob(QString,QString,QString,uint,QString,bool,uint,uint,QString,QString,uint))); // This is emitted when a printer is removed connect(KCupsConnection::global(), SIGNAL(jobCompleted(QString,QString,QString,uint,QString,bool,uint,uint,QString,QString,uint)), this, SLOT(jobCompleted(QString,QString,QString,uint,QString,bool,uint,uint,QString,QString,uint))); createSubscription(); // Get all jobs getJobs(); }