flowchartsymbolpicker.cpp

来自「c++ GUI Programming with QT4书中的源码」· C++ 代码 · 共 61 行

CPP
61
字号
#include <QtGui>#include "flowchartsymbolpicker.h"FlowChartSymbolPicker::FlowChartSymbolPicker(        const QMap<int, QString> &symbolMap, QWidget *parent)    : QDialog(parent){    id = -1;    listWidget = new QListWidget;    listWidget->setIconSize(QSize(60, 60));    QMapIterator<int, QString> i(symbolMap);    while (i.hasNext()) {        i.next();        QListWidgetItem *item = new QListWidgetItem(i.value(),                                                    listWidget);        item->setIcon(iconForSymbol(i.value()));        item->setData(Qt::UserRole, i.key());    }    okButton = new QPushButton(tr("OK"));    okButton->setDefault(true);    cancelButton = new QPushButton(tr("Cancel"));    connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));    connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));    QHBoxLayout *buttonLayout = new QHBoxLayout;    buttonLayout->addStretch();    buttonLayout->addWidget(okButton);    buttonLayout->addWidget(cancelButton);    QVBoxLayout *mainLayout = new QVBoxLayout;    mainLayout->addWidget(listWidget);    mainLayout->addLayout(buttonLayout);    setLayout(mainLayout);    setWindowTitle(tr("Flowchart Symbol Picker"));}void FlowChartSymbolPicker::done(int result){    id = -1;    if (result == QDialog::Accepted) {        QListWidgetItem *item = listWidget->currentItem();        if (item)            id = item->data(Qt::UserRole).toInt();    }    QDialog::done(result);}QIcon FlowChartSymbolPicker::iconForSymbol(const QString &symbolName){    QString fileName = ":/images/" + symbolName.toLower();    fileName.replace(' ', '-');    return QIcon(fileName);}

⌨️ 快捷键说明

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