Zablokowanie możliwości edycji komórek w QTableWidget

0

Witajcie ponownie. :)
Sorry, że was tak nękam, ale aktualnie piszę pewną dużą aplikacje(tak, w ramach ćwiczeń) i ciągle trafiam na jakieś problemy

Tak jak w temacie. Chciałbym zablokować możliwość edytowania komórek w QTableWidget.
Wiem, że można zablokować jedną komórkę, lecz ja chciałbym zablokować wszystkie. Bez względu czy są puste czy pełne chciałbym, aby nie można było ich ruszać.
Z góry dziękuje za pomoc.

0

QTableItem::setEnabled(bool)

albo

QWidget::setEnabled(bool)

0

Niestety, ale powyższe funkcje działają jedynie na pojedyncze element, a to nie wchodzi w grę.
SetEnable również mi się nie podoba, ponieważ nie tylko nie można edytować komórek, ale również nie ma się dostępu do całego widgetu.

Krycho
Gdyby udało mi się tam to znaleźć, to bym tutaj nie zadawał tych pytań. : )

0

Jak mowilem dokumentacja tam jest wsio. Komorki w tabeli sa typu QTableWidgetItem czyli trzeba patrzec na jej metody. Jest tam metoda setFlags ktora dostaje flagi.

    for(int i=0;i<5;i++)
    {
        ui->tableWidget->insertRow(i);
        ui->tableWidget->insertColumn(i);
        QTableWidgetItem *item = new QTableWidgetItem("Test");
        ui->tableWidget->setItem(i,0,item);
        ui->tableWidget->item(i,0)->setFlags(Qt::ItemIsEditable | Qt::ItemIsSelectable);
    }
0

No napisałem mu to samo, tylko nie poprzez flagi, a oddzielną metodę, która blokuje QTableWidgetItem.

0

Jak używasz Qt Designer'a to w polu EditTriggers po prostu zaznaczasz "No Edit Triggers". Masz screena ;) - http://i.imgur.com/TtQ2Q.png
Bez edytora się to robi analogicznie. Polecam również zaznaczyć opcje VerticalScrollMode, horizontalScrollMode na ScrollPerPixel, SelectionBehavior zmień na SelectRows, a SelectionMode ustaw na SingleSelection. Dodatkowo polecam włączyć alternatingRowColors :) Przynajmniej ja takie rzeczy ustawiam dla tabelek w mojej aplikacji ;)

Na te bzdury co napisali ludzie na górze nie patrz. Flagę każdej komórki z osobna ustawiać... phi :P

1

Spine, jesteś zaj*bisty. Dzięki! : )

1 użytkowników online, w tym zalogowanych: 0, gości: 1