14 tableWidget->item(row, 1)->setText(
15 QString::number(point.y));
16 }
17 …
18 }
Конструктор
После создания и центровки заголовков столбцов мы в цикле просматриваем все переданные нам данные с координатами. Для каждой пары (x, у) мы создаем два элемента
По умолчанию виджет
01 void CoordinateSetter::addRow
02 {
03 int row = tableWidget->rowCount;
04 tableWidget->insertRow(row);
05 QTableWidgetltem *item0 = new QTableWidgetltem;
06 item0->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
07 tableWidget->setItem(row, 0, item0);
08 QTableWidgetltem *item1 = new QTableWidgetltem;
09 item1->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
10 tableWidget->setItem(row, 1, item1);
11 tableWidget->setCurrentItem(item0);
12 }
Слот
01 void CoordinateSetter::done(int result)
02 {
03 if (result == QDialog::Accepted) {
04 coordinates->clear;
05 for (int row = 0; row < tableWidget->rowCount; ++row) {
06 double x = tableWidget->item(row, 0)->text.toDouble;
07 double у = tableWidget->item(row, 1)->text.toDouble;
08 coordinates->append(QPointF(x, y));
09 }
10 }
11 QDialog::done(result);
12 }
Наконец, когда пользователь нажимает кнопку OK, мы очищаем координаты, переданные ранее в диалоговое окно, и создаем новый набор на основе координат в элементах виджета
В качестве нашего третьего и последнего примера применения в Qt удобных виджетов отображения элементов мы рассмотрим некоторые фрагменты приложения, которое показывает параметры настройки Qt—приложения, используя
Ниже приводится фрагмент конструктора:
01 SettingsViewer::SettingsViewer(QWidget *parent)
02 : QDialog(parent)
03 {
04 organization = "Trolltech";
05 application = "Designer";
06 treeWidget = new QTreeWidget;
08 treeWidget->setColumnCount(2);
09 treeWidget->setHeaderLabels(