本文整理汇总了C++中QTableWidget::setHorizontalHeaderLabels方法的典型用法代码示例。如果您正苦于以下问题:C++ QTableWidget::setHorizontalHeaderLabels方法的具体用法?C++ QTableWidget::setHorizontalHeaderLabels怎么用?C++ QTableWidget::setHorizontalHeaderLabels使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QTableWidget
的用法示例。
在下文中一共展示了QTableWidget::setHorizontalHeaderLabels方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TableWidget
QWidget * Table::createQtWidget(Proxy *proxy, UIProxy *uiproxy, QWidget *parent)
{
QTableWidget *tablewidget = new TableWidget(this, parent);
tablewidget->setEnabled(enabled);
tablewidget->setVisible(visible);
tablewidget->setStyleSheet(QString::fromStdString(style));
size_t rowcount = rows.size(), columncount = 0;
for(size_t i = 0; i < rowcount; i++)
columncount = std::max(columncount, rows[i].size());
tablewidget->setRowCount(rowcount);
tablewidget->setColumnCount(columncount);
tablewidget->horizontalHeader()->setVisible(show_horizontal_header);
tablewidget->verticalHeader()->setVisible(show_vertical_header);
tablewidget->setShowGrid(show_grid);
QStringList qtHorizontalHeader;
for(size_t i = 0; i < horizontalHeader.size(); i++)
qtHorizontalHeader << QString::fromStdString(horizontalHeader[i]);
tablewidget->setHorizontalHeaderLabels(qtHorizontalHeader);
QStringList qtVerticalHeader;
for(size_t i = 0; i < verticalHeader.size(); i++)
qtVerticalHeader << QString::fromStdString(verticalHeader[i]);
tablewidget->setVerticalHeaderLabels(qtVerticalHeader);
if(autosize_horizontal_header)
tablewidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
if(autosize_vertical_header)
tablewidget->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
if(sortable)
tablewidget->setSortingEnabled(true);
for(size_t row = 0; row < rowcount; row++)
{
for(size_t column = 0; column < rows[row].size(); column++)
{
TableItem &item = rows[row][column];
QTableWidgetItem *qtwitem = new QTableWidgetItem(QString::fromStdString(item.text));
if(item.editable)
qtwitem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable);
else
qtwitem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
tablewidget->setItem(row, column, qtwitem);
}
}
tablewidget->setSelectionBehavior(selectionBehavior);
tablewidget->setSelectionMode(selectionMode);
QObject::connect(tablewidget, &QTableWidget::cellActivated, uiproxy, &UIProxy::onCellActivate);
QObject::connect(tablewidget, &QTableWidget::cellChanged, uiproxy, &UIProxy::onCellActivate);
QObject::connect(tablewidget, &QTableWidget::itemSelectionChanged, uiproxy, &UIProxy::onTableSelectionChange);
setQWidget(tablewidget);
setEditable(editable);
setProxy(proxy);
return tablewidget;
}
示例2: QDialog
EmployeeListDialog::EmployeeListDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::EmployeeListDialog)
{
ui->setupUi(this);
ui->tableWidgetEmployeeList->setGeometry(QRect(20, 10, 351, 221));
ui->tableWidgetEmployeeList->setColumnCount(4);
ui->tableWidgetEmployeeList->setRowCount(10);
QStringList header;
header << "ID" << "Name" << "Address" << "Type";
QTableWidget *tableWidget = this->ui->tableWidgetEmployeeList;
tableWidget->setHorizontalHeaderLabels(header);
}
示例3: logMessage
void QgsMessageLogViewer::logMessage( QString message, QString tag, int level )
{
mButton->setToolTip( tr( "%1 message(s) logged." ).arg( mCount++ ) );
if ( !isVisible() )
{
mButton->show();
QToolTip::showText( mButton->mapToGlobal( QPoint( 0, 0 ) ), mButton->toolTip() );
}
if ( tag.isNull() )
tag = tr( "General" );
int i;
for ( i = 0; i < tabWidget->count() && tabWidget->tabText( i ) != tag; i++ )
;
QTableWidget *w;
if ( i < tabWidget->count() )
{
w = qobject_cast<QTableWidget *>( tabWidget->widget( i ) );
tabWidget->setCurrentIndex( i );
}
else
{
w = new QTableWidget( 0, 3, this );
w->verticalHeader()->setDefaultSectionSize( 16 );
w->verticalHeader()->setResizeMode( QHeaderView::ResizeToContents );
w->verticalHeader()->setVisible( false );
w->setGridStyle( Qt::DotLine );
w->setEditTriggers( QAbstractItemView::NoEditTriggers );
w->setHorizontalScrollMode( QAbstractItemView::ScrollPerPixel );
w->setHorizontalHeaderLabels( QStringList() << tr( "Timestamp" ) << tr( "Message" ) << tr( "Level" ) );
tabWidget->addTab( w, tag );
tabWidget->setCurrentIndex( tabWidget->count() - 1 );
}
int n = w->rowCount();
w->setRowCount( n + 1 );
QTableWidgetItem *item = new QTableWidgetItem( QDateTime::currentDateTime().toString( Qt::ISODate ) );
w->setItem( n, 0, item );
w->setItem( n, 1, new QTableWidgetItem( message ) );
w->setItem( n, 2, new QTableWidgetItem( QString::number( level ) ) );
w->scrollToBottom();
w->horizontalHeader()->resizeSections( QHeaderView::ResizeToContents );
}
示例4: calcul_manches
void FenPrincipale::calcul_manches() {
for (int j = 0; j < this->nbManches; ++j) {
// on initialise la table html pour l'export
QString html = "<table>\n\t<thead>\n\t\t<tr>\n\t\t\t";
html += "<td>"+tr("Place")+"</td>";
html += "<td>"+tr("Équipage")+"</td>";
html += "<td>"+tr("Points")+"</td>";
if (this->typeClmt == CLMT_TEMPS) {
html += "<td>"+tr("Temps réel")+"</td><td>"+tr("Temps compensé")+"</td>";
}
html += "\n\t\t</tr>\n\t</thead>\n\t<tboby>";
// on affiche la table qui va contenir les résultats de la manche
QTableWidget *table = new QTableWidget();
table->verticalHeader()->hide();
table->setSelectionMode(QAbstractItemView::NoSelection);
table->setProperty("table", "manches");
QList<QString> labels;
labels << tr("Place") << tr("Équipage") << tr("Points");
if (this->typeClmt == CLMT_TEMPS) {
table->setColumnCount(5);
labels << tr("Temps réel") << tr("Temps compensé");
table->setMaximumWidth(560 + 20);
table->setMinimumWidth(560 + 20);
table->setColumnWidth(3, 120);
table->setColumnWidth(4, 120);
}
else {
table->setColumnCount(3);
table->setMaximumWidth(320 + 20);
table->setMinimumWidth(320 + 20);
}
table->setColumnWidth(0, 60);
table->setColumnWidth(1, 200);
table->setColumnWidth(2, 60);
table->setHorizontalHeaderLabels(labels);
table->setRowCount(this->nbEquipages);
ui->choisirResultat->insertItem(j+1,
tr("Résultats de la manche %1").arg(QString::number(j+1)));
int nbAffiches = 0; // pour savoir à quelle ligne on en est
// on traite et affiche les équipages
// on traite chaque manche pour attribuer les points aux équipages
for (int i = 0; i < this->nbEquipages; ++i) {
// on recherche tous les équipages non encore traités pour cette
// manches qui ont un tpsCompense minimal
int min = 0;
QList<int> ids;
for (int k = 0; k < this->nbEquipages; ++k) {
Manche m = this->equipages[k].manches[j];
if (m.tpsCompense < 0 || m.points > 0 ) {
// cet équipage a déjà été traité ou n'a pas de place/temps
// (DNF, DNS, OCS, ...)
continue;
}
if (m.tpsCompense < min || min == 0) {
min = m.tpsCompense;
ids.clear();
ids.append(k);
}
else if (m.tpsCompense == min) {
ids.append(k);
}
}
if (min == 0) {
// on n'a pas trouvé d'équipage à traiter (se produit s'il y a
// des équipages DNS, DNF, OCS, ...)
break;
}
for (int l = 0; l < ids.size(); ++l) {
double points = (ids.size()-1.0)/2.0+i+1.0;
this->equipages[ids.at(l)].points += points;
this->equipages[ids.at(l)].pointsOrdonnes.prepend(points);
this->equipages[ids.at(l)].pointsTries.append(points);
this->equipages[ids.at(l)].manches[j].points = points;
// on affiche ces équipages
Equipage e = this->equipages[ids.at(l)];
Manche m = e.manches[j];
QLabel *place = new QLabel(QString::number(i+1));
table->setCellWidget(i+l, 0, place);
QWidget *nomWidget = new QWidget();
QVBoxLayout *nomLayout = new QVBoxLayout();
QLabel *nom = new QLabel(e.nom);
nom->setProperty("label", "nom");
nomLayout->addWidget(nom);
if (this->typeClmt == CLMT_TEMPS) {
QLabel *bateau = new QLabel();
bateau->setText(this->bateaux.value(e.rating.toUpper()).serie
+" ("+QString::number(e.coef)+")");
bateau->setProperty("label", "bateau");
nomLayout->addWidget(bateau);
table->setRowHeight(i+l, 45);
}
nomLayout->setContentsMargins(0, 0, 0, 0);
nomLayout->setSpacing(0);
nomWidget->setLayout(nomLayout);
table->setCellWidget(i+l, 1, nomWidget);
QLabel *pointsi = new QLabel(QString::number(m.points));
table->setCellWidget(i+l, 2, pointsi);
if (this->typeClmt == CLMT_TEMPS) {
QLabel *tpsReel = new QLabel(this->formate_tps(m.tpsReel));
table->setCellWidget(i+l, 3, tpsReel);
//.........这里部分代码省略.........
示例5: setHeader
void TableView::setHeader(QStringList value)
{
//_header = value;
QTableWidget* table = getTableWidget();
if(0!=table)
{
// QStringList headers = _header.split(";", QString::SkipEmptyParts);
table->setColumnCount(value.count());
table->setHorizontalHeaderLabels(value);
_header = value;
// table->setVerticalHeaderItem();
// table->setVerticalHeaderLabels(_header.split(";", QString::SkipEmptyParts));
}
// emit send(esp::init(new QString(value),0,""));
}
示例6: QDialog
ParamCompareDialog::ParamCompareDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::ParamCompareDialog),
m_newList(new QMap<QString, UASParameter*>())
{
ui->setupUi(this);
QStringList headerList;
headerList << tr("Parameter") << tr("Value") << tr("New Value") << tr("Use");
QTableWidget* table = ui->compareTableWidget;
table->setColumnCount(headerList.count());
table->setHorizontalHeaderLabels(headerList);
table->setSelectionBehavior(QAbstractItemView::SelectRows);
table->setAlternatingRowColors(true);
table->setColumnWidth(PCD_COLUMN_CHECKBOX, 40);
initConnections();
}
示例7: QMainWindow
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow),cdadPersonas(0)
{
ui->setupUi(this);
//ui->mainToolBar->addAction()
PersonaController * controller = PersonaController::getInstance();
crearDialog = new CrearPersonaDialog(this);
editarDialog = new EditPersonaDialog(this);
crearDialog->setWindowTitle("Crear Persona");
setupSignalsAndSlots();
auto f = [] (Persona*) -> bool {return true;}; // all
QList<Persona *> all = controller->filter(f);
int cantidadFilas = all.size();
QTableWidget *table = ui->tableWidget;
table->setRowCount(cantidadFilas);
table->setColumnCount(5);
QStringList header;
header << "Id" << "Nombre" << "Direccion" << "Telefono" << "Email";
table->setHorizontalHeaderLabels(header);
table->adjustSize();
initPersonas();
// for (int i = 0; i < all.size(); i++) {
// Persona *p = all.at(i);
// int j = 0;
// QTableWidgetItem *item = new QTableWidgetItem(QString().setNum(p->id()));
// table->setItem(i, j++, item);
// item = new QTableWidgetItem(p->nombre());
// table->setItem(i, j++, item);
// item = new QTableWidgetItem(p->direccion());
// table->setItem(i, j++, item);
// item = new QTableWidgetItem(p->telefono());
// table->setItem(i, j++, item);
// }
// connect(crearDialog, SIGNAL(personaCreated(Persona*)), this, SLOT(agregarPersonaATable(Persona*)));
}
示例8: main
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMainWindow *w = new QMainWindow();
w->setWindowTitle(QString::fromUtf8("QTableWidget Set Cell Color"));
w->resize(400, 250);
QTableWidget* table = new QTableWidget();
//Set table row count 1 and column count 3
table->setRowCount(1);
table->setColumnCount(3);
table->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
//Set Header Label Texts Here
table->setHorizontalHeaderLabels(QString("HEADER 1;HEADER 2;HEADER 3").split(";"));
//Add Table items here
table->setItem(0,0,new QTableWidgetItem("ITEM 1"));
table->setItem(0,1,new QTableWidgetItem("ITEM 2"));
table->setItem(0,2,new QTableWidgetItem("ITEM 3"));
//Color Table Cells Here
table->item(0,0)->setBackgroundColor(Qt::red);
table->item(0,1)->setBackgroundColor(Qt::green);
table->item(0,2)->setBackgroundColor(Qt::blue);
w->setCentralWidget(table);
w->show();
return a.exec();
}
示例9: setupFilesTable
QTableWidget* AutoImportWindow::setupFilesTable() {
QTableWidget* filesTable = new QTableWidget(0, 6);
filesTable->setSelectionBehavior(QAbstractItemView::SelectRows);
filesTable->setAttribute(Qt::WA_MacShowFocusRect, 0);
QStringList labels;
labels << "" << tr("Directory") << tr("Search Name") << tr("Averaged") << tr("Aligned") << tr("Raw");
filesTable->setHorizontalHeaderLabels(labels);
filesTable->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch);
filesTable->verticalHeader()->hide();
filesTable->setShowGrid(false);
filesTable->setAlternatingRowColors(true);
connect(filesTable, &QTableWidget::itemDoubleClicked, [=](QTableWidgetItem *item){
if(item->row() != -1 && item->row() < rowToImagePaths_.size()) {
QString path = rowToImagePaths_[item->row()];
ProjectImage* image = projectData.projectImage(QDir(projectData.projectDir().absoluteFilePath(path)));
if(image) emit imageToBeOpened(image);
else QMessageBox::warning(this, "Image Open Error!", "Image: " + path + " was either not imported or not found.");
}
});
return filesTable;
}
示例10: afficherProfil
void DossierEditeur::afficherProfil()
{
try
{
QDialog* window = new QDialog(this);
QGridLayout* lay = new QGridLayout;
QPushButton* ok = new QPushButton("Ok");
window->setWindowTitle("Profil");
window->setFixedSize(400, 400);
QStringList Formation = Dossier::getInstance().ListeCursus();
int j = 1;
QTableWidget* valide = new QTableWidget(1,1,this);
QTableWidget* non_valide = new QTableWidget(1,1,this);
QLabel* valideLabel = new QLabel("Validé :",this);
QLabel* NonvalideLabel = new QLabel("A Valider :",this);
valide->horizontalHeader()->hide();
non_valide->horizontalHeader()->hide();
valide->verticalHeader()->hide();
non_valide->verticalHeader()->hide();
valide->setMaximumSize(50,25);
non_valide->setMaximumSize(50,25);
QTableWidgetItem* ItemValide = new QTableWidgetItem("");
ItemValide->setBackground(Qt::red);
valide->setItem(0,0,ItemValide);
QTableWidgetItem* ItemNonValide = new QTableWidgetItem("");
ItemNonValide ->setBackground(Qt::gray);
non_valide->setItem(0,0,ItemNonValide);
//Tableaus affichant le nombre de crédits obtenu par catégorie
for(QList<QString>::iterator it1 = Formation.begin(); it1 < Formation.end(); ++it1)
{
QMap<QString, unsigned int> ListeProfil = Dossier::getInstance().ListeProfil(*it1);
QStringList P = ListeProfil.keys();
QTableWidget* tab = new QTableWidget(1,ListeProfil.size(),this);
tab->setHorizontalHeaderLabels(P);
tab->setSelectionBehavior(QAbstractItemView::SelectRows);
tab->verticalHeader()->hide();
int i = 0;
for(QList<QString>::iterator it2 = P.begin(); it2 < P.end(); ++it2)
{
QString cr; cr.setNum(ListeProfil[*it2]);
QString creditFormation; creditFormation.setNum(FormationManager::getInstance().getFormation(*it1).getProfil(*it2));
QString credit = cr +QString("(")+creditFormation+QString(")");
QTableWidgetItem* monItem = new QTableWidgetItem(credit);
if(FormationManager::getInstance().isFinished(*it1,*it2,ListeProfil[*it2]))
monItem->setBackground(Qt::red);
else
monItem->setBackground(Qt::gray);
tab->setItem(0,i,monItem);
i++;
}
QLabel* form = new QLabel(*it1,this);
lay->addWidget(form,j,0,1,3,Qt::AlignLeft);
lay->addWidget(tab,j,1,1,3,Qt::AlignJustify);
j++;
}
lay->addWidget(valideLabel,0,0);
lay->addWidget(valide,0,1);
lay->addWidget(NonvalideLabel,0,2);
lay->addWidget(non_valide,0,3);
lay->addWidget(ok,j,1,Qt::AlignHCenter);
window->setLayout(lay);
connect(ok,SIGNAL(clicked()),window,SLOT(accept()));
window->exec();
if(window->result())
{
}
}
catch(UTProfilerException& e)
{
QMessageBox::warning(this, "Ajout d'inscription", e.getInfo());
}
}
示例11: if
ValidationResultDialog::ValidationResultDialog(ValidationItem* item)
{
//return if there's no parent
if (item == NULL)
{
return;
}
QDialogButtonBox* buttons = new QDialogButtonBox(QDialogButtonBox::Ok,Qt::Horizontal, this);
QPushButton* print_button = new QPushButton("Save to File", buttons);
QVBoxLayout* mainLayout = new QVBoxLayout();
QGroupBox* resultGroup = new QGroupBox(tr("Validation Results"),this);
QGridLayout* layout = new QGridLayout();
QVBoxLayout* resultGroupLayout = new QVBoxLayout();
int type = item->getValidationType();
if (type < 4 || type==5)
{
String train_fit ="R^2";
String pred_qual="Q^2";
String n = item->modelItem()->getRegistryEntry()->getStatName(item->getValidationStatistic());
if(n!="")
{
train_fit = n+"<br>on training data";
pred_qual = "predictive<br>"+n;
}
QLabel* rlabel = new QLabel(train_fit.c_str(),this);
layout->addWidget(rlabel, 0,1);
QString tmp;
QLabel* qlabel=NULL;
if(type<3)
{
qlabel = new QLabel(tmp.setNum(item->k())+ " fold "+pred_qual.c_str(),this);
}
else if(type==3) // boostrap
{
qlabel = new QLabel(QString(pred_qual.c_str())+" of "+tmp.setNum(item->numOfSamples())+ "\nbootstrap samples",this);
}
else if(type==5)
{
qlabel = new QLabel(tmp.setNum(item->getNoExternalFolds())+ " fold nested "+pred_qual.c_str(),this);
}
layout->addWidget(qlabel, 0,2);
QLabel* rvaluelabel = new QLabel(QString(((String)(item->getR2())).c_str()),this);
layout->addWidget(rvaluelabel,1,1);
QLabel* qvaluelabel = new QLabel(QString(((String)(item->getQ2())).c_str()),this);
layout->addWidget(qvaluelabel,1,2);
resultGroup->setLayout(layout);
}
else if (type == 4)
{
QString value;
float num;
QStringList labels;
labels << "# Tests" << "R^2" << "Q^2";
QTableWidget* table = new QTableWidget(item->resultOfRandTest()->rows(), 3, this);
table->verticalHeader()->hide();
table->setHorizontalHeaderLabels (labels);
table->setAlternatingRowColors(true);
table->setDragDropMode(QAbstractItemView::NoDragDrop);
table->setEditTriggers(QAbstractItemView::NoEditTriggers);
table->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
table->horizontalHeader()->setResizeMode(2,QHeaderView::Stretch);
for (int i = 0; i < item->resultOfRandTest()->rows();i++)
{
value.setNum(i);
QTableWidgetItem* num_of_Test = new QTableWidgetItem(value);
table->setItem(i, 0, num_of_Test);
num = (*(item->resultOfRandTest()))(i,item->resultOfRandTest()->cols()-2);
value.setNum(num);
QTableWidgetItem* r = new QTableWidgetItem(value);
table->setItem(i, 1, r);
num = (*(item->resultOfRandTest()))(i,item->resultOfRandTest()->cols()-1);
value.setNum(num);
QTableWidgetItem* q = new QTableWidgetItem(value);
table->setItem(i, 2, q);
}
QScrollArea* scrollArea = new QScrollArea(this);
scrollArea->setHorizontalScrollBarPolicy ( Qt::ScrollBarAlwaysOff );
scrollArea->setVerticalScrollBarPolicy ( Qt::ScrollBarAsNeeded );
scrollArea->setFrameShape(QFrame::NoFrame);
scrollArea->setWidget(table);
scrollArea->setWidgetResizable(true);
resultGroupLayout->addWidget(scrollArea);
resultGroup->setLayout(resultGroupLayout);
//.........这里部分代码省略.........
示例12: QDialog
//Constructors:
GenericALDialog::GenericALDialog(vtkSmartPointer<vtkTable> table,int num_classes,int active_query,std::vector<int>top_feats,QWidget *parent)
: QDialog(parent)
{
//temp_pair.first = snapshot;
//QLabel *imageLabel = new QLabel(this);
//imageLabel->setPixmap(QPixmap::fromImage(snapshot));
//imageLabel->resize(imageLabel->pixmap()->size());
this->setWindowTitle(tr("Active Learning Window: Specify Class"));
this->setModal(false);
finish = true;
//Master Layout
QGridLayout * layout = new QGridLayout;
//// textbox
//lineEdit = new QLineEdit();
//lineEdit->setMaxLength(15);
//Top-row of the window
QHBoxLayout *topRow = new QHBoxLayout;
//topRow->addWidget(imageLabel,1,0);
//Done Button
doneButton = new QPushButton("Done");
connect(doneButton, SIGNAL(clicked()), this, SLOT(finished()));
doneButton->setDisabled(true);
doneButton->setDefault(false);
doneButton->setAutoDefault(false);
nextButton = new QPushButton("Next");
connect(nextButton, SIGNAL(clicked()), this, SLOT(accept()));
nextButton->setDisabled(true);
nextButton->setDefault(false);
nextButton->setAutoDefault(true);
QLabel *enterClassLabel = new QLabel("Select Class: ", this);
topRow->addWidget(enterClassLabel,0,0);
// radiobutons for each class
for(int i =1 ; i<= num_classes ; ++i)
{
QRadioButton *class_button = new QRadioButton(QString::number(i), this);
topRow->addWidget(class_button,0,0);
button_vector.push_back(class_button);
connect(class_button, SIGNAL(clicked()),this,SLOT(Set_Class()));
// Class 1 is always the default selection
}
QRadioButton *class_button = new QRadioButton("I am not sure" , this);
connect(class_button, SIGNAL(clicked()),this,SLOT(Set_Class()));
button_vector.push_back(class_button);
topRow->addWidget(class_button,0,0);
topRow->addWidget(nextButton,0,0);
topRow->addWidget(doneButton,0,0);
topRow->addStretch(20);
QLabel *channelLabel = new QLabel("Please ensure all the relevant channels which might affect classification are ON ", this);
//Remove the train column
table->RemoveColumnByName("train");
int numb_cols = MIN(5,table->GetNumberOfColumns());
QStringList sl;
for(int i=0;i<numb_cols;++i)
{
sl<<QString(table->GetColumnName(top_feats[i]));
}
// Table displaying 10 top features
QTableWidget *tableWidget = new QTableWidget(1, numb_cols, this);
tableWidget->setHorizontalHeaderLabels(sl);
for(int i=0;i<numb_cols;++i)
{
QTableWidgetItem *newItem = new QTableWidgetItem(QString::number(table->GetValue(active_query,top_feats[i]).ToDouble()));
newItem->setFlags(newItem->flags() & ~Qt::ItemIsEditable);
tableWidget->setItem(0, i, newItem);
}
class_selected = -1; // Used to check if no radiobutton was selected
//Bottom-row of the window
QVBoxLayout *botRow = new QVBoxLayout;
//.........这里部分代码省略.........
示例13: calcul_general
void FenPrincipale::calcul_general() {
QString html = "<table>\n\t<thead>\n\t\t<tr>\n\t\t\t";
html += "<td>"+tr("Position")+"</td>";
html += "<td>"+tr("Équipage")+"</td>";
html += "<td>"+tr("Points")+"</td>";
for (int j = 0; j < this->nbManches; ++j) {
html += "<td>"+tr("M")+QString::number(j+1)+"</td>";
}
html += "\n\t\t</tr>\n\t</thead>\n\t<tboby>";
QTableWidget *table = new QTableWidget();
table->verticalHeader()->hide();
table->setSelectionMode(QAbstractItemView::NoSelection);
table->setColumnCount(3+this->nbManches);
table->setRowCount(this->nbEquipages);
table->setColumnWidth(0, 80);
table->setColumnWidth(1, 200);
table->setColumnWidth(2, 60);
int size = 80 + 200 + 60;
QList<QString> labels;
labels << tr("Position") << tr("Équipage") << tr("Points");
for (int j = 0; j < this->nbManches; ++j) {
labels << tr("M")+QString::number(j+1);
size += 50;
table->setColumnWidth(3+j, 50);
}
table->setMinimumWidth(size + 20);
table->setMaximumWidth(size + 20);
table->setHorizontalHeaderLabels(labels);
ui->resultatsLayout->insertWidget(0, table);
for (int i = 0; i < this->nbEquipages; ++i) {
QList<int> ids;
Equipage e1;
for (int k = 0; k < this->nbEquipages; ++k) {
Equipage e2 = this->equipages[k];
if (e2.points <= 0) {
// cet équipage a déjà été affiché
continue;
}
if (ids.isEmpty() || e2.points < e1.points) {
ids.clear();
ids.append(k);
e1 = e2;
}
else if (e2.points == e1.points) {
// égalité de points
// pour départager les équipages, on confronte leurs meilleures
// manches (sans celles retirées)
for (int j = 0; j < e1.pointsTries.size(); ++j) {
if (e2.pointsTries[j] < e1.pointsTries[j]) {
ids.clear();
ids.append(k);
e1 = e2;
break;
}
else if (e2.pointsTries[j] > e1.pointsTries[j]) {
break;
}
else if (j == e1.pointsTries.size()-1) {
// égalité des manches
// pour départager les équipages, on confronte toutes
// leur manches dans l'ordre en partant de la dernière
for (int l = 0; l < e1.pointsOrdonnes.size(); ++l) {
if (e2.pointsOrdonnes[l] < e1.pointsOrdonnes[l]) {
ids.clear();
ids.append(k);
e1 = e2;
break;
}
else if (e2.pointsOrdonnes[l] > e1.pointsOrdonnes[l]) {
break;
}
else if (l == e1.pointsOrdonnes.size()-1) {
// égalité parfaite
ids.append(k);
}
}
}
}
}
}
for (int k = 0; k < ids.size(); ++k) {
Equipage e = this->equipages[ids[k]];
// on ajoute le début de la table html
// on rajoute les manches en parallèle à causes de celles retirées
QString nomString = "<span class=\"equipage\">"+e.nom+"</span>";
if (this->typeClmt == CLMT_TEMPS) {
nomString += "<span class=\"bateau\">"
+this->bateaux.value(e.rating.toUpper()).serie
+" ("+QString::number(e.coef)+")</span>";
}
html += "\n\t\t<tr>\n\t\t\t<td>"+QString::number(i+1)+"</td>"
+"<td>"+nomString+"</td>"
+"<td>"+QString::number(e.points)+"</td>";
// on ajout l'équipage
QLabel *pos = new QLabel(QString::number(i+1));
QWidget *nomWidget = new QWidget();
QVBoxLayout *nomLayout = new QVBoxLayout();
QLabel *nom = new QLabel(e.nom);
nom->setProperty("label", "nom");
nomLayout->addWidget(nom);
//.........这里部分代码省略.........
示例14: QLabel
std::vector<QHBoxLayout *> ActiveLearningDialog::Validation_Sample_Details(QImage snapshot, vtkSmartPointer<vtkTable> table,int classval,int PIA_query,int group,int num_classes)
{
QLabel *imageLabel = new QLabel(this);
imageLabel->setPixmap(QPixmap::fromImage(snapshot));
imageLabel->resize(imageLabel->pixmap()->size());
finish = true;
//Top-row of the window
QHBoxLayout *topRow = new QHBoxLayout;
topRow->addWidget(imageLabel,0,0);
QLabel *enterClassLabel = new QLabel("Please indicate the correct class: ", this);
topRow->addWidget(enterClassLabel,0,0);
buttongroup[group] = new QButtonGroup(this);
buttongroup[group]->setExclusive(true);
// radiobutons for each class
for(int i =0 ; i< num_classes ; ++i)
{
QRadioButton *class_button = new QRadioButton(QString::number(i), this);
if(i+1==classval)
class_button->setChecked(true);
topRow->addWidget(class_button,0,0);
button_vector.push_back(class_button);
buttongroup[group]->addButton(class_button);
connect(class_button, SIGNAL(clicked()),this,SLOT(Set_Class_Validate()));
}
//QRadioButton *class_button = new QRadioButton("I am not sure" , this);
//connect(class_button, SIGNAL(clicked()),this,SLOT(Set_Class()));
//button_vector.push_back(class_button);
//buttongroup[group]->addButton(class_button);
//topRow->addWidget(class_button,0,0);
QStringList sl;
for(int i=0;i<table->GetNumberOfColumns();++i)
{
sl<<QString(table->GetColumnName(i));
}
// Table displaying features of the sample
QTableWidget *tableWidget = new QTableWidget(1, table->GetNumberOfColumns(), this);
tableWidget->setHorizontalHeaderLabels(sl);
tableWidget->setRowCount(1);
tableWidget->setColumnCount(table->GetNumberOfColumns());
for(int i=0;i<table->GetNumberOfColumns();++i)
{
QTableWidgetItem *newItem = new QTableWidgetItem(QString::number(table->GetValue(PIA_query,i).ToDouble()));
newItem->setFlags(newItem->flags() & ~Qt::ItemIsEditable);
tableWidget->setItem(0, i, newItem);
}
//Bottom-row of the window
QHBoxLayout *botRow = new QHBoxLayout;
botRow->addWidget(tableWidget,0,0);
//botRow->addWidget(channelLabel,1,0);
std::vector<QHBoxLayout *> rows;
rows.push_back(topRow);
rows.push_back(botRow);
return rows;
}
示例15: populateVMInfos
void VirshGui::populateVMInfos(string vmname)
{
VMStatus vmstatus = vmlist[vmname].getStatus();
string strstatus = vmlist[vmname].statusToString(vmstatus);
string memory = vmlist[vmname].getMemory();
string vmxml = vmlist[vmname].dumpXML();
string cpuCount = vmlist[vmname].getCPUCount();
string ostype = vmlist[vmname].getOSType();
string arch = vmlist[vmname].getArch();
vector<string> bootDevs = vmlist[vmname].getBootDevs();
vector<string> hvFeatures = vmlist[vmname].getHVFeatures();
vector<string> cpuFeatures = vmlist[vmname].getCPUFeatures();
string bootDevStr = join(bootDevs, ", ");
string hvFeatureStr = join(hvFeatures, ", ");
string cpuFeatureStr = join(cpuFeatures, ", ");
if (vmstatus == VMStatus::shutoff) {
ui->startStopButton->setText("VM starten");
ui->startStopButton->setEnabled(true);
ui->shutdownButton->setDisabled(true);
ui->rebootButton->setDisabled(true);
ui->virtViewerButton->setDisabled(true);
} else if (vmstatus == VMStatus::running) {
ui->startStopButton->setText("VM ausschalten");
ui->startStopButton->setEnabled(true);
ui->shutdownButton->setEnabled(true);
ui->rebootButton->setEnabled(true);
ui->virtViewerButton->setEnabled(true);
} else {
ui->startStopButton->setText("keine Aktion");
ui->startStopButton->setDisabled(true);
ui->shutdownButton->setDisabled(true);
ui->rebootButton->setDisabled(true);
ui->virtViewerButton->setDisabled(true);
}
while (ui->snapshotsTabLayout->count() > 0) {
QLayoutItem *item = ui->snapshotsTabLayout->takeAt(0);
delete item->widget();
delete item;
}
int snapshotTableCount = 0;
for (auto hdd : vmlist[vmname].getHDDImages()) {
int row = 0;
QGroupBox *hddGroupBox = new QGroupBox(QString::fromStdString(hdd.getPath()));
hddGroupBox->setFlat(false);
QVBoxLayout *hddVBox = new QVBoxLayout;
QTableWidget *snapshotTable = new QTableWidget(0, 5, this);
snapshotTable->setSelectionMode(QAbstractItemView::SingleSelection);
snapshotTable->setHorizontalHeaderLabels(QStringList() << "ID" << "Tag" << "VM Size" << "Date" << "VM Clock");
snapshotTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
//snapshotTable->setColumnWidth(0, 45);
snapshotTable->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);
snapshotTable->horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
snapshotTable->horizontalHeader()->setSectionResizeMode(3, QHeaderView::ResizeToContents);
snapshotTable->horizontalHeader()->setSectionResizeMode(4, QHeaderView::ResizeToContents);
snapshotTable->verticalHeader()->hide();
snapshotTable->setAlternatingRowColors(true);
//snapshotTable->setSortingEnabled(true);
snapshotTable->setEditTriggers(QTableWidget::NoEditTriggers);
connect(snapshotTable, &QTableWidget::cellPressed, [this, snapshotTableCount](){ clearSnapshotSelectionsExcept(snapshotTableCount); });
snapshotTableCount++;
for (auto snapshot : hdd.getSnapshots()) {
snapshotTable->setRowCount(row + 1);
QTableWidgetItem *id = new QTableWidgetItem(
QString::fromStdString(snapshot.getID()));
QTableWidgetItem *tag = new QTableWidgetItem(
QString::fromStdString(snapshot.getTag()));
QTableWidgetItem *size = new QTableWidgetItem(
QString::fromStdString(snapshot.getSize()));
QTableWidgetItem *date = new QTableWidgetItem(
QString::fromStdString(snapshot.getDate()));
QTableWidgetItem *clock = new QTableWidgetItem(
QString::fromStdString(snapshot.getClock()));
snapshotTable->setItem(row, 0, id);
snapshotTable->setItem(row, 1, tag);
snapshotTable->setItem(row, 2, size);
snapshotTable->setItem(row, 3, date);
snapshotTable->setItem(row, 4, clock);
row++;
}
hddVBox->addWidget(snapshotTable);
QHBoxLayout *addSnapHBox = new QHBoxLayout;
QLineEdit *addSnapNameEdit = new QLineEdit;
QPushButton *addSnapButton = new QPushButton;
addSnapButton->setText("Snapshot erstellen");
addSnapButton->setEnabled(false);
string hddPath = hdd.getPath();
connect(addSnapNameEdit, &QLineEdit::textChanged, [this, addSnapButton, addSnapNameEdit](){ toggleAddSnapshotButton(addSnapButton, addSnapNameEdit); });
connect(addSnapButton, &QPushButton::clicked, [this, hddPath, vmname, addSnapNameEdit](){ createSnapshot(hddPath, vmname, addSnapNameEdit->text().toStdString()); });
addSnapHBox->addWidget(addSnapNameEdit);
addSnapHBox->addWidget(addSnapButton);
//.........这里部分代码省略.........