本文整理汇总了C++中QTableWidget::setMinimumWidth方法的典型用法代码示例。如果您正苦于以下问题:C++ QTableWidget::setMinimumWidth方法的具体用法?C++ QTableWidget::setMinimumWidth怎么用?C++ QTableWidget::setMinimumWidth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QTableWidget
的用法示例。
在下文中一共展示了QTableWidget::setMinimumWidth方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: beforePublicTalkComboBoxShown
void PublicTalks::beforePublicTalkComboBoxShown(int rownumber)
{
// themes combobox
cPersonComboBox *c = static_cast<cPersonComboBox *>(maintable->cellWidget(rownumber,2));
cPersonComboBox *speakerCombo = static_cast<cPersonComboBox *>(maintable->cellWidget(rownumber,3));
QString currentThemeText = c->currentText();
QTableWidget *table;
cpersons cp;
person *speaker = cp.getPerson(speakerCombo->currentText());
if (speaker) {
// the speaker selected --> will be shown speaker's themes
table = this->getSpeakerPublicTalks(0,speaker->id, currentThemeText);
} else {
// no speaker selected --> all themes will be shown
table = this->getPublicTalksbyLang(currentThemeText);
}
// schoolComboBox *sc = static_cast<schoolComboBox *>(ui->tableSchoolEdit->cellWidget(row,col));
qDebug() << QString::number(table->rowCount());
table->setSortingEnabled(true);
table->sortByColumn(0,Qt::AscendingOrder);
table->verticalHeader()->hide();
table->setColumnWidth(0,40);
table->setColumnWidth(1,200);
table->setColumnWidth(2,80);
table->setMinimumWidth(340);
c->clear();
c->setModel(table->model());
c->setView(table);
c->setModelColumn(1);
c->setCurrentIndex(c->findText(currentThemeText,Qt::MatchExactly));
}
示例2: QTableWidget
QTableWidget *PublicTalks::getPersons(int type)
{
std::vector<sql_item> vt;
// QString str = "SELECT yleisokokous.pvm, henkilot.nimi, henkilot.id, henkilot.etunimi "
// "FROM henkilot LEFT JOIN yleisokokous ON henkilot.id = yleisokokous.puheenjohtaja_id "
// "WHERE ohjelmatyypit & " + QString::number(type) + " GROUP BY henkilot.id";
QString str = "SELECT yleisokokous.pvm, henkilot.nimi, henkilot.id, henkilot.etunimi "
"FROM henkilot LEFT JOIN yleisokokous ON henkilot.id = yleisokokous.";
if(type == person::chairman) {
str.append("puheenjohtaja_id");
} else {
str.append("vt_lukija_id");
}
str.append(" WHERE ohjelmatyypit & " + QString::number(type) + " GROUP BY henkilot.id");
vt = sql.selectSql(str);
QTableWidget *vttable = new QTableWidget();
vttable->horizontalHeader()->show();
vttable->verticalHeader()->setVisible(false);
vttable->setColumnCount(3);
vttable->setColumnHidden(0,true);
vttable->setColumnWidth(1,150);
vttable->setColumnWidth(2,100);
vttable->setMinimumWidth(270);
vttable->setSortingEnabled(true);
vttable->setHorizontalHeaderItem(1,new QTableWidgetItem(QObject::tr("Name")));
vttable->setHorizontalHeaderItem(2,new QTableWidgetItem(QObject::tr("Last")));
vttable->setRowCount(vt.size()+1);
vttable->setItem(0,0,new QTableWidgetItem(""));
for(unsigned int i = 0; i < vt.size(); i++) {
vttable->setItem(i+1,0,new QTableWidgetItem(vt[i].getValue("id")));
vttable->setItem(i+1,1,new QTableWidgetItem(vt[i].getValue("nimi") + " " + vt[i].getValue("etunimi")));
vttable->setItem(i+1,2,new QTableWidgetItem(vt[i].getValue("pvm")));
}
return vttable;
}
示例3: beforeSpeakerShown
void PublicTalks::beforeSpeakerShown(QString name, cPersonComboBox *c)
{
//cPersonComboBox *c = combo;
// get speakers for comboBox
//cPersonComboBox *combo = static_cast<cPersonComboBox *>(maintable->cellWidget(combo->property("currentrow").toInt(),3));
cPersonComboBox *themeCombo = static_cast<cPersonComboBox *>(maintable->cellWidget(c->property("currentrow").toInt(),2));
qDebug() << "currentRow1:" << c->currentText() << "rownumber:" << c->property("currentrow") << name;
if (c) {
qDebug() << "combo ok";
} else {
qDebug() << "combo false";
}
QTableWidget *table = new QTableWidget(0,4);
table->setColumnHidden(0,true);
table->setColumnWidth(3,0);
std::vector<sql_item> speakers;
if(themeCombo->currentText() == "") {
// ei teemaa valittu
speakers = sql.selectSql("SELECT henkilot.*,yleisokokous.pvm "
"FROM henkilot "
"LEFT JOIN yleisokokous ON henkilot.id = yleisokokous.puhuja_id "
"WHERE henkilot.ohjelmatyypit & 512 GROUP BY henkilot.id ORDER BY nimi");
} else {
// teema valittu --> haetaan teeman sopivat puhujat
speakers = sql.selectSql("SELECT henkilot.*,P_Esitelmat.aihe_id,yleisokokous.pvm "
"FROM henkilot "
"LEFT JOIN P_Esitelmat ON henkilot.id = P_Esitelmat.puhuja_id "
"LEFT JOIN yleisokokous ON henkilot.id = yleisokokous.puhuja_id "
" WHERE P_Esitelmat.aihe_id = '" +
QString::number(getThemeId(themeCombo->currentText())) +
"' AND henkilot.ohjelmatyypit & 512 GROUP BY henkilot.id ORDER BY nimi, etunimi");
}
table->setRowCount(speakers.size()+1);
int currentRow = 0;
for(unsigned int i = 0; i < speakers.size(); i++) {
table->setItem(i+1,0,new QTableWidgetItem( speakers[i].getValue("id") ));
table->setItem(i+1,1,new QTableWidgetItem( speakers[i].getValue("nimi") + ", " + speakers[i].getValue("etunimi")) );
table->setItem(i+1,2,new QTableWidgetItem( speakers[i].getValue("pvm")) );
table->setItem(i+1,3,new QTableWidgetItem( speakers[i].getValue("etunimi") + " " + speakers[i].getValue("nimi")) );
if(c->currentText() == table->item(i+1,3)->text()) {
QFont boldfont(table->item(i+1,1)->font().family(),
table->item(i+1,1)->font().pointSize(),
QFont::Bold);
table->item(i+1,1)->setFont(boldfont);
currentRow = i+1;
}
}
table->verticalHeader()->hide();
table->setColumnWidth(1,150);
table->setColumnWidth(2,100);
table->setMinimumWidth(280);
c->clear();
c->setModel(table->model());
c->setView(table);
c->setModelColumn(1);
c->setCurrentIndex(currentRow);
table->setSortingEnabled(true);
table->sortByColumn(1,Qt::AscendingOrder);
}
示例4: 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);
//.........这里部分代码省略.........
示例5: 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);
//.........这里部分代码省略.........