Seite 1 von 1
[! gelöst !]setSelectionBehavior KLAPPT NICHT !!
Verfasst: 13. April 2006 11:58
von shader76
Hallo zusammen,
Ich habe ein ein Table Widget mit 2 Columns.
wie erreiche ich das in meinem TableWidget bei der Selektion des Columns0 gleichzeitig auch der Column1 ausgewählt wird ?
Verfasst: 13. April 2006 12:57
von Alci
Hi,
versuchs mal mit:
MfG, Alci.
Verfasst: 13. April 2006 13:01
von shader76
Hi Alci
habs versucht klappt aber nicht
Code: Alles auswählen
ui.myTable->setSelectionBehavior(QAbstractItemView::SelectRows);
Verfasst: 18. April 2006 08:58
von shader76
SelectionBehaviour und SelectionMode sind in den Properties als SelectRows und SingleSelection eingestellt, jedoch kann ich keine ganze reihe auswählen, warum ?
Code: Alles auswählen
#include "test01.h"
#include <QHeaderView>
#include <QTableWidget>
#include <QAbstractItemView>
test01::test01(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
ui.domainTxt->setGeometry(10,10,207,22);
setFixedSize(520,260);
ui.addBtn->setText("Hinzufügen");
ui.updateBtn->setText("Ändern");
ui.delBtn->setText("Löschen");
setTabOrder(ui.domainTxt,ui.IpTxt);
setTabOrder(ui.IpTxt,ui.addBtn);
setTabOrder(ui.addBtn,ui.myTable);
ui.myTable->setColumnCount(2);
ui.myTable->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch);
ui.myTable->verticalHeader()->hide();
ui.myTable->horizontalHeader()->hide();
ui.myTable->setShowGrid(false);
ui.myTable->setSelectionBehavior( QAbstractItemView::SelectRows );
ui.myTable->setSelectionMode( QAbstractItemView::SingleSelection );
}
test01::~test01()
{
}
void test01::on_addBtn_clicked()
{
QString s1 = ui.domainTxt->text();
QString s2 = ui.IpTxt->text();
QTableWidgetItem *file1 = new QTableWidgetItem(s1);
file1->setFlags(Qt::ItemIsEnabled);
QTableWidgetItem *file2 = new QTableWidgetItem(s2);
file2->setFlags(Qt::ItemIsEnabled);
int row = ui.myTable->rowCount();
ui.myTable->insertRow(row);
ui.myTable->setItem(row, 0, file1);
ui.myTable->setItem(row, 1, file2);
}
void test01::on_myTable_currentItemChanged()
{
int row = ui.myTable->currentRow();
ui.domainTxt->setText(ui.myTable->item(row,0)->text());
ui.IpTxt->setText(ui.myTable->item(row,1)->text());
}
Ich würde halt gerne wenn ich ein Item anwähle das er mir die ganze Reihe selektiert.
Verfasst: 18. April 2006 14:40
von shader76
Verfasst: 18. April 2006 15:01
von macman
Vielleicht weil nicht jeder gleich alles stehen und liegen lässt, um dein Problem nach zu vollziehen
Ich würde mal vermuten das sich hier SelectRows und SingleSelection in die Quere kommen. Bei einer QTable ist doch jede Zelle ein Item, also heißt SelectRows mehrere Items und SingleSelection verbietet das wieder. Was passiert denn wenn Du SingleSelection weg lässt?
Verfasst: 18. April 2006 15:14
von shader76
das habe ich mittlerweile rausgelassen, ich sehe auch durch die currentitemchanged funktion das er mir die ganze reihe selektiert nur wird das nicht angezeigt bzw blau hinterlegt das ich die auswahl dementsprechend erkennen kann.
Verfasst: 19. April 2006 09:20
von shader76
habs hinbekommen, falls interesse besteht zeige ich gerne wie
Verfasst: 30. Juni 2006 11:05
von rm4711
shader76 hat geschrieben:habs hinbekommen, falls interesse besteht zeige ich gerne wie
Na, dann werde ich das mal übernehmen:
ersetze
durch
Code: Alles auswählen
file1->setFlags(file1->flags() & ~Qt::ItemIsEditable);
wenn die Editierbarkeit auf Zellebene kontrollierbar sein soll, und es fluppt.
Gruß aus Köln!