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

QT -- 快速设计对话框1

2017-04-14 20:46 387 查看
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
==============================================
//使用了public继承,因为我们想在该对话框的外边访问该对话框的窗口部件。包含在gotocelldialog.cpp文件中的实现代码
#include <QtGui>

#include "gotocelldialog.h"

GoToCellDialog::GoToCellDialog(QWidget *parent)
: QDialog(parent)
{
setupUi(this);//用来初始化窗体

QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");
lineEdit->setValidator(new QRegExpValidator(regExp, this));//QRegExpValidator --检验器类,允许一个大写或者小写字母

connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));//槽与相应的信号相连接,结果变量的值为1
connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
}

void GoToCellDialog::on_lineEdit_textChanged()//启用或者禁用ok
{
okButton->setEnabled(lineEdit->hasAcceptableInput());//判断行编辑器中内容的有效性
}

======================================================================
main.cpp
=======================================================================
#include <QApplication>
#include <QDialog>
#include "gotodialog.h"
#include "ui_gotocelldialog.h"

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

GoToCellDialog *dialog = new GoToCellDialog;
dialog->show();
return app.exec();
}
==========================================================================


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: