您的位置:首页 > 编程语言 > Qt开发

QT -- 快速设计对话框2

2017-04-14 20:47 337 查看
gotocelldialog.h
============================================================
/*
创建一个新类,让该类同时从QDialog和Ui::GoToCellDialog中继承出来,并且由它来实现那些缺失的功能。
将该类与uic所生成的类具有相同的名字,只是没有ui::前缀而已。
uic -- 用户界面编译器,将gotocelldialog.ui文件转换为c++并且将转换结果存储在ui_gotocelldialog.h文件中。
*/

#ifndef GOTOCELLDIALOG_H
#define GOTOCELLDIALOG_H

#include <QDialog>

#include "ui_gotocelldialog.h"

class GoToCellDialog : public QDialog, public Ui::GoToCellDialog
{
Q_OBJECT

public:
GoToCellDialog(QWidget *parent = 0);

private slots:
void on_lineEdit_textChanged();
};

#endif

=============================================================
gotocelldialog.cpp
=============================================================
#include <QtGui>

#include "gotocelldialog.h"

GoToCellDialog::GoToCellDialog(QWidget *parent)
: QDialog(parent)
{
setupUi(this);
buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);

QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");
lineEdit->setValidator(new QRegExpValidator(regExp, this));

connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
}

void GoToCellDialog::on_lineEdit_textChanged()
{
buttonBox->button(QDialogButtonBox::Ok)->setEnabled(
lineEdit->hasAcceptableInput());
}
==========================================================
main.cpp
==========================================================
#include <QApplication>
#include <QDialog>
#include "gotocelldialog.h"
#include "ui_gotocelldialog.h"

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

GoToCellDialog *dialog = new GoToCellDialog;
dialog->show();
return app.exec();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: