Table of Content
Български English
Как се ползва QTableWidget
Общ преглед на QTableWidget
Чрез QTableWidget [doc.qt.nokia.com] могат да се вграждат таблици в Qt приложения. QTableWidget наследява QTableView [doc.qt.nokia.com]. Елементите в инстанцията на QTableWidget са от клас QTableWidgetItem [doc.qt.nokia.com].
Основна употреба
Задаване на броя на колоните и на редовете
- m_pTableWidget->setRowCount(10);
- m_pTableWidget->setColumnCount(3);
Вкарване на наименования на колоните
- m_TableHeader<<"#"<<"Name"<<"Text";
- m_pTableWidget->setHorizontalHeaderLabels(m_TableHeader);
Вкарване на данни
Най-лесният начин да се постави текст в клетка:
Скриване на вертикалната номерация на редовете
- m_pTableWidget->verticalHeader()->setVisible(false);
Скриване на решентката
- m_pTableWidget->setShowGrid(false);
Задаване на фон на селектирани елементи
- m_pTableWidget->setStyleSheet("QTableView {selection-background-color: red;}");
Забраняване на редакцията
Поведение при селектиране
Поведението на таблицата при селектиране на редове и клекти може да бъде променено от програмста чрез методите setSelectionBehavior [doc.qt.nokia.com] и setSelectionMode [doc.qt.nokia.com]. Приложеният пример позволява само единична селекция на цял ред:
Управление на сигнали
QTableWidget осигурява подходящи сигнали за всяко събитие като промяна в селекцията, натискане и др. [doc.qt.nokia.com] Пример за прихващане на сигнал от двойно бързо натискане на клетка:
- connect( m_pTableWidget, SIGNAL( cellDoubleClicked (int, int) ), this, SLOT( cellSelected( int, int ) ) );
Пример
Следният програмен код използва QTableWidget и всички изброени случай на употреба по-горе. Успешно е тестван на Symbian^3 устройство.
- mainwindow.h
- #include <QTableWidget>
- private slots:
- void cellSelected(int nRow, int nCol);
- private:
- QStringList m_TableHeader;
- mainwindow.cpp
- #include "mainwindow.h"
- #include <QApplication>
- #include <QDesktopWidget>
- #include <QtCore/QCoreApplication>
- #include <QHeaderView>
- #include <QMessageBox>
- m_pTableWidget(NULL)
- {
- m_pTableWidget->setRowCount(10);
- m_pTableWidget->setColumnCount(3);
- m_TableHeader<<"#"<<"Name"<<"Text";
- m_pTableWidget->setHorizontalHeaderLabels(m_TableHeader);
- m_pTableWidget->verticalHeader()->setVisible(false);
- m_pTableWidget->setShowGrid(false);
- m_pTableWidget->setStyleSheet("QTableView {selection-background-color: red;}");
- //insert data
- connect( m_pTableWidget, SIGNAL( cellDoubleClicked (int, int) ),
- this, SLOT( cellSelected( int, int ) ) );
- }
- MainWindow::~MainWindow()
- {
- }
- void MainWindow::cellSelected(int nRow, int nCol)
- {
- " was double clicked.");
- }
Вижте също
How to use QTableWidget in Qt [developer.nokia.com]
Customizing QTableView [doc.qt.nokia.com]

