[! gelöst !]setSelectionBehavior KLAPPT NICHT !!
[! gelöst !]setSelectionBehavior KLAPPT NICHT !!
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 ?
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 ?
Zuletzt geändert von shader76 am 19. April 2006 09:19, insgesamt 3-mal geändert.
-shader76-
-Visual Studio.Net 2003 & QT4.1
-Visual Studio.Net 2003 & QT4.1
Hi,
versuchs mal mit:
MfG, Alci.
versuchs mal mit:
Code: Alles auswählen
setSelectionBehavior(QAbstractItemView::SelectRows);Hi Alci
habs versucht klappt aber nicht
habs versucht klappt aber nicht
Code: Alles auswählen
ui.myTable->setSelectionBehavior(QAbstractItemView::SelectRows);-shader76-
-Visual Studio.Net 2003 & QT4.1
-Visual Studio.Net 2003 & QT4.1
SelectionBehaviour und SelectionMode sind in den Properties als SelectRows und SingleSelection eingestellt, jedoch kann ich keine ganze reihe auswählen, warum ?
Ich würde halt gerne wenn ich ein Item anwähle das er mir die ganze Reihe selektiert.
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.
-shader76-
-Visual Studio.Net 2003 & QT4.1
-Visual Studio.Net 2003 & QT4.1
Vielleicht weil nicht jeder gleich alles stehen und liegen lässt, um dein Problem nach zu vollziehenshader76 hat geschrieben:Kann ich davon ausgehen dass es diese Option nicht gibt oder warum antwortet mir keiner![]()
![]()
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?
Na, dann werde ich das mal übernehmen:shader76 hat geschrieben:habs hinbekommen, falls interesse besteht zeige ich gerne wie
ersetze
Code: Alles auswählen
file1->setFlags(Qt::ItemIsEnabled); Code: Alles auswählen
file1->setFlags(file1->flags() & ~Qt::ItemIsEditable); Gruß aus Köln!