⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settingsviewer.cpp

📁 QT4 gui programming的随书光盘
💻 CPP
字号:
#include <QtGui>#include "settingsviewer.h"SettingsViewer::SettingsViewer(QWidget *parent)    : QDialog(parent){    organization = "Trolltech";    application = "Designer";    treeWidget = new QTreeWidget;    treeWidget->setColumnCount(2);    treeWidget->setHeaderLabels(            QStringList() << tr("Key") << tr("Value"));    treeWidget->header()->setResizeMode(0, QHeaderView::Stretch);    treeWidget->header()->setResizeMode(1, QHeaderView::Stretch);    buttonBox = new QDialogButtonBox(QDialogButtonBox::Open                                     | QDialogButtonBox::Close);    connect(buttonBox, SIGNAL(accepted()), this, SLOT(open()));    connect(buttonBox, SIGNAL(rejected()), this, SLOT(close()));    QVBoxLayout *mainLayout = new QVBoxLayout;    mainLayout->addWidget(treeWidget);    mainLayout->addWidget(buttonBox);    setLayout(mainLayout);    setWindowTitle(tr("Settings Viewer"));    readSettings();}void SettingsViewer::open(){    QDialog dialog(this);    QLabel *orgLabel = new QLabel(tr("&Organization:"));    QLineEdit *orgLineEdit = new QLineEdit(organization);    orgLabel->setBuddy(orgLineEdit);    QLabel *appLabel = new QLabel(tr("&Application:"));    QLineEdit *appLineEdit = new QLineEdit(application);    appLabel->setBuddy(appLineEdit);    QDialogButtonBox *buttonBox = new QDialogButtonBox(            QDialogButtonBox::Ok | QDialogButtonBox::Cancel);    connect(buttonBox, SIGNAL(accepted()), &dialog, SLOT(accept()));    connect(buttonBox, SIGNAL(rejected()), &dialog, SLOT(reject()));    QGridLayout *gridLayout = new QGridLayout;    gridLayout->addWidget(orgLabel, 0, 0);    gridLayout->addWidget(orgLineEdit, 0, 1);    gridLayout->addWidget(appLabel, 1, 0);    gridLayout->addWidget(appLineEdit, 1, 1);    QVBoxLayout *mainLayout = new QVBoxLayout;    mainLayout->addLayout(gridLayout);    mainLayout->addWidget(buttonBox);    dialog.setLayout(mainLayout);    dialog.setWindowTitle(tr("Choose Settings"));    if (dialog.exec()) {        organization = orgLineEdit->text();        application = appLineEdit->text();        readSettings();    }}void SettingsViewer::readSettings(){    QSettings settings(organization, application);    treeWidget->clear();    addChildSettings(settings, 0, "");    treeWidget->sortByColumn(0);    treeWidget->setFocus();    setWindowTitle(tr("Settings Viewer - %1 by %2")                   .arg(application).arg(organization));}void SettingsViewer::addChildSettings(QSettings &settings,        QTreeWidgetItem *parent, const QString &group){    if (!parent)        parent = treeWidget->invisibleRootItem();    QTreeWidgetItem *item;    settings.beginGroup(group);    foreach (QString key, settings.childKeys()) {        item = new QTreeWidgetItem(parent);        item->setText(0, key);        item->setText(1, settings.value(key).toString());    }    foreach (QString group, settings.childGroups()) {        item = new QTreeWidgetItem(parent);        item->setText(0, group);        addChildSettings(settings, item, group);    }    settings.endGroup();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -