扩展对话框和多页对话框

1:扩展对话框(extension dialog) 

通常只显示简单的外观,还有一个切换按钮,用来进行切换

  designer涉及的一些操作键:

    File->New Form 选择Dialog without Buttons

    右击组合框,选择Edit Items

        撤销方法,Edit-Undo 和 Form->Break Layout

    信号与槽,Edit->Edit Signals/Slots 单击作为发射器的窗口部件并且拖动所产生的红色箭头线到作为接收器的窗口部件上

  源代码:

    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

  sortdialog.cpp

#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->addItem(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; } }

 

多页对话框(multi-page dialog)

 

 

附加小知识:

toggle在实物上有开关的意思,更准确的译法应该是切换,在两个状态间进行转换。在Qt中,checkable按纽或是图标的槽函数应该用toggled()事件来激活

 

 

posted on 2013-01-04 14:01  小风儿_xf  阅读(321)  评论(0编辑  收藏  举报

导航