#include<QtGui>
#include"sortdialog.h"
SortDialog::SortDialog(QWidget *parent)
:QDialog(parent)
{
setupUi(this);
secondaryGroupBox->hide();
tertiaryGroupBox->hide();
layout()->setSizeConstraint(QLayout::SetFixedSize);
setColumnRange('A', 'Z');
}
void SortDialog::setColumnRange(QChar first, QChar last)
{
primaryColumnCombo->clear();
secondaryColumnCombo->clear();
tertiaryColumnCombo->clear();
secondaryColumnCombo->addItems(tr("None"));
tertiaryColumnCombo->addItem(tr("None"));
primaryColumnCombo->setMinimumSize(secondaryColumnCombo->sizeHint());
QChar ch = first;
while (ch<=last)
{
primaryColumnCombo->addItem(QString(ch));
secondaryColumnCombo->addItem(QString(ch));
tertiaryColumnCombo->addItem(QString(ch));
ch = ch.unicode() + 1;
}
}
main.cpp
#include<QApplication>
#include"sortdialog.h"
int main (int argc, char *argv[])
{
QApplication app(argc,argv);
SortDialog *dialog = new SortDialog;
dialog->setColumnRange('C', 'F');
dialog->show();
return app.exec();
}
sortdialog.h
#ifndef SORTDIALOG_H
#define SORTDIALOG_H
#include<QDialog>
#include"ui_sortdialog.h"
class SortDialog : public QDialog, public Ui::SortDialog
{
Q_OBJECT
public:
SortDialog(QWidget *parent = 0);
void setColumnRange(QChar first ,QChar last);
};
#endif
ui_sortdialog.h
/********************************************************************************
** Form generated from reading UI file 'sortdialog.ui'
**
** Created: Wed Aug 3 16:32:24 2011
** by: Qt User Interface Compiler version 4.7.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_SORTDIALOG_H
#define UI_SORTDIALOG_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QComboBox>
#include <QtGui/QDialog>
#include <QtGui/QGroupBox>
#include <QtGui/QHeaderView>
#include <QtGui/QLabel>
#include <QtGui/QPushButton>
#include <QtGui/QSpacerItem>
#include <QtGui/QVBoxLayout>
#include <QtGui/QWidget>
class Ui_SortDialog
{
public:
QGroupBox *primaryGroupBox;
QLabel *primaryColumnCombo;
QComboBox *primaryColumnCombo_2;
QLabel *orderButton;
QComboBox *primaryOrderCombo;
QGroupBox *secondaryGroupBox;
QLabel *secondaryColumnCombo;
QComboBox *secondaryColumnCombo_2;
QLabel *orderButton_2;
QComboBox *secondaryOrderCombo;
QGroupBox *tertiaryGroupBox;
QLabel *tertiaryColumnCombo;
QComboBox *tertimaryColumnCombo;
QLabel *orderButton_3;
QComboBox *tertimaryColumnCombo_2;
QWidget *layoutWidget;
QVBoxLayout *verticalLayout;
QPushButton *okButton;
QPushButton *CancelButton;
QSpacerItem *verticalSpacer;
QPushButton *MoreButton;
void setupUi(QDialog *SortDialog)
{
if (SortDialog->objectName().isEmpty())
SortDialog->setObjectName(QString::fromUtf8("SortDialog"));
SortDialog->resize(375, 438);
primaryGroupBox = new QGroupBox(SortDialog);
primaryGroupBox->setObjectName(QString::fromUtf8("primaryGroupBox"));
primaryGroupBox->setGeometry(QRect(30, 30, 201, 111));
primaryColumnCombo = new QLabel(primaryGroupBox);
primaryColumnCombo->setObjectName(QString::fromUtf8("primaryColumnCombo"));
primaryColumnCombo->setGeometry(QRect(10, 30, 51, 16));
primaryColumnCombo_2 = new QComboBox(primaryGroupBox);
primaryColumnCombo_2->setObjectName(QString::fromUtf8("primaryColumnCombo_2"));
primaryColumnCombo_2->setGeometry(QRect(70, 32, 61, 21));
orderButton = new QLabel(primaryGroupBox);
orderButton->setObjectName(QString::fromUtf8("orderButton"));
orderButton->setGeometry(QRect(10, 70, 41, 16));
primaryOrderCombo = new QComboBox(primaryGroupBox);
primaryOrderCombo->setObjectName(QString::fromUtf8("primaryOrderCombo"));
primaryOrderCombo->setGeometry(QRect(70, 70, 91, 21));
secondaryGroupBox = new QGroupBox(SortDialog);
secondaryGroupBox->setObjectName(QString::fromUtf8("secondaryGroupBox"));
secondaryGroupBox->setGeometry(QRect(30, 180, 201, 111));
secondaryColumnCombo = new QLabel(secondaryGroupBox);
secondaryColumnCombo->setObjectName(QString::fromUtf8("secondaryColumnCombo"));
secondaryColumnCombo->setGeometry(QRect(10, 30, 51, 16));
secondaryColumnCombo_2 = new QComboBox(secondaryGroupBox);
secondaryColumnCombo_2->setObjectName(QString::fromUtf8("secondaryColumnCombo_2"));
secondaryColumnCombo_2->setGeometry(QRect(70, 32, 61, 21));
orderButton_2 = new QLabel(secondaryGroupBox);
orderButton_2->setObjectName(QString::fromUtf8("orderButton_2"));
orderButton_2->setGeometry(QRect(10, 70, 41, 16));
secondaryOrderCombo = new QComboBox(secondaryGroupBox);
secondaryOrderCombo->setObjectName(QString::fromUtf8("secondaryOrderCombo"));
secondaryOrderCombo->setGeometry(QRect(70, 70, 91, 21));
tertiaryGroupBox = new QGroupBox(SortDialog);
tertiaryGroupBox->setObjectName(QString::fromUtf8("tertiaryGroupBox"));
tertiaryGroupBox->setGeometry(QRect(30, 310, 201, 111));
tertiaryColumnCombo = new QLabel(tertiaryGroupBox);
tertiaryColumnCombo->setObjectName(QString::fromUtf8("tertiaryColumnCombo"));
tertiaryColumnCombo->setGeometry(QRect(10, 30, 51, 16));
tertimaryColumnCombo = new QComboBox(tertiaryGroupBox);
tertimaryColumnCombo->setObjectName(QString::fromUtf8("tertimaryColumnCombo"));
tertimaryColumnCombo->setGeometry(QRect(70, 32, 61, 21));
orderButton_3 = new QLabel(tertiaryGroupBox);
orderButton_3->setObjectName(QString::fromUtf8("orderButton_3"));
orderButton_3->setGeometry(QRect(10, 70, 41, 16));
tertimaryColumnCombo_2 = new QComboBox(tertiaryGroupBox);
tertimaryColumnCombo_2->setObjectName(QString::fromUtf8("tertimaryColumnCombo_2"));
tertimaryColumnCombo_2->setGeometry(QRect(70, 70, 91, 21));
layoutWidget = new QWidget(SortDialog);
layoutWidget->setObjectName(QString::fromUtf8("layoutWidget"));
layoutWidget->setGeometry(QRect(290, 31, 77, 132));
verticalLayout = new QVBoxLayout(layoutWidget);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
verticalLayout->setContentsMargins(0, 0, 0, 0);
okButton = new QPushButton(layoutWidget);
okButton->setObjectName(QString::fromUtf8("okButton"));
okButton->setEnabled(true);
okButton->setDefault(true);
verticalLayout->addWidget(okButton);
CancelButton = new QPushButton(layoutWidget);
CancelButton->setObjectName(QString::fromUtf8("CancelButton"));
verticalLayout->addWidget(CancelButton);
verticalSpacer = new QSpacerItem(18, 28, QSizePolicy::Minimum, QSizePolicy::Expanding);
verticalLayout->addItem(verticalSpacer);
MoreButton = new QPushButton(layoutWidget);
MoreButton->setObjectName(QString::fromUtf8("MoreButton"));
verticalLayout->addWidget(MoreButton);
QWidget::setTabOrder(primaryColumnCombo_2, primaryOrderCombo);
QWidget::setTabOrder(primaryOrderCombo, MoreButton);
QWidget::setTabOrder(MoreButton, okButton);
QWidget::setTabOrder(okButton, secondaryColumnCombo_2);
QWidget::setTabOrder(secondaryColumnCombo_2, secondaryOrderCombo);
QWidget::setTabOrder(secondaryOrderCombo, tertimaryColumnCombo);
QWidget::setTabOrder(tertimaryColumnCombo, tertimaryColumnCombo_2);
retranslateUi(SortDialog);
QObject::connect(okButton, SIGNAL(clicked()), SortDialog, SLOT(accept()));
QObject::connect(CancelButton, SIGNAL(clicked()), SortDialog, SLOT(reject()));
QObject::connect(MoreButton, SIGNAL(toggled(bool)), secondaryGroupBox, SLOT(setVisible(bool)));
QObject::connect(MoreButton, SIGNAL(toggled(bool)), tertiaryGroupBox, SLOT(setVisible(bool)));
QMetaObject::connectSlotsByName(SortDialog);
} // setupUi
void retranslateUi(QDialog *SortDialog)
{
SortDialog->setWindowTitle(QApplication::translate("SortDialog", "Sort", 0, QApplication::UnicodeUTF8));
SortDialog->setProperty("Sort", QVariant(QString()));
primaryGroupBox->setTitle(QApplication::translate("SortDialog", "&primary Key", 0, QApplication::UnicodeUTF8));
primaryColumnCombo->setText(QApplication::translate("SortDialog", "Column:", 0, QApplication::UnicodeUTF8));
primaryColumnCombo_2->clear();
primaryColumnCombo_2->insertItems(0, QStringList()
<< QApplication::translate("SortDialog", "None", 0, QApplication::UnicodeUTF8)
);
orderButton->setText(QApplication::translate("SortDialog", "Order:", 0, QApplication::UnicodeUTF8));
primaryOrderCombo->clear();
primaryOrderCombo->insertItems(0, QStringList()
<< QApplication::translate("SortDialog", "Ascending", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("SortDialog", "Descending", 0, QApplication::UnicodeUTF8)
);
secondaryGroupBox->setTitle(QApplication::translate("SortDialog", "&Secondary Key", 0, QApplication::UnicodeUTF8));
secondaryColumnCombo->setText(QApplication::translate("SortDialog", "Column:", 0, QApplication::UnicodeUTF8));
secondaryColumnCombo_2->clear();
secondaryColumnCombo_2->insertItems(0, QStringList()
<< QApplication::translate("SortDialog", "None", 0, QApplication::UnicodeUTF8)
);
orderButton_2->setText(QApplication::translate("SortDialog", "Order:", 0, QApplication::UnicodeUTF8));
secondaryOrderCombo->clear();
secondaryOrderCombo->insertItems(0, QStringList()
<< QApplication::translate("SortDialog", "Ascending", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("SortDialog", "Descending", 0, QApplication::UnicodeUTF8)
);
tertiaryGroupBox->setTitle(QApplication::translate("SortDialog", "&Tertiary Key", 0, QApplication::UnicodeUTF8));
tertiaryColumnCombo->setText(QApplication::translate("SortDialog", "Column:", 0, QApplication::UnicodeUTF8));
tertimaryColumnCombo->clear();
tertimaryColumnCombo->insertItems(0, QStringList()
<< QApplication::translate("SortDialog", "None", 0, QApplication::UnicodeUTF8)
);
orderButton_3->setText(QApplication::translate("SortDialog", "Order:", 0, QApplication::UnicodeUTF8));
tertimaryColumnCombo_2->clear();
tertimaryColumnCombo_2->insertItems(0, QStringList()
<< QApplication::translate("SortDialog", "Ascending", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("SortDialog", "Descending", 0, QApplication::UnicodeUTF8)
);
okButton->setText(QApplication::translate("SortDialog", "OK", 0, QApplication::UnicodeUTF8));
CancelButton->setText(QApplication::translate("SortDialog", "Cancel", 0, QApplication::UnicodeUTF8));
MoreButton->setText(QApplication::translate("SortDialog", "&More", 0, QApplication::UnicodeUTF8));
} // retranslateUi
};
namespace Ui {
class SortDialog: public Ui_SortDialog {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_SORTDIALOG_H
出现如下的错误:
sortdialog.cpp: In member function ‘void SortDialog::setColumnRange(QChar, QChar)’:
sortdialog.cpp:23:29: error: ‘class QLabel’ has no member named ‘addItems’
sortdialog.cpp:24:28: error: ‘class QLabel’ has no member named ‘addItem’
sortdialog.cpp:30:27: error: ‘class QLabel’ has no member named ‘addItem’
sortdialog.cpp:31:29: error: ‘class QLabel’ has no member named ‘addItem’
sortdialog.cpp:32:28: error: ‘class QLabel’ has no member named ‘addItem’
make: *** [sortdialog.o] 错误 1