嵌入式操作系统、Qt

实验7.2自定义对话框举例
嵌入式操作系统、Qt_第1张图片
嵌入式操作系统、Qt_第2张图片
dialog.h文件
#ifndef DIALOG_H
#define DIALOG_H

#include

namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
Q_OBJECT

public:
explicit Dialog(QWidget *parent = 0);
~Dialog();
//三个函数设置值
void setName(QString InputName);
void setTel(QString InputTel);
void setDept(QString InputDept);
//三个串变量
QString m_Name;
QString m_Tel;
QString m_Dept;

private slots:
void on_pushButton_2_clicked();
//按钮的映射函数
void on_pushButton_clicked();
private:
Ui::Dialog *ui;
};

#endif // DIALOG_H

dialog.cpp文件
#include “dialog.h”
#include “ui_dialog.h”

Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
}

Dialog::~Dialog()
{
delete ui;
}
//三个设置值函数的实现
void Dialog::setName(QString InputName)
{
m_Name=InputName;
ui->lineEdit->setText(m_Name);
QPixmap m_photo(""+m_Name+".png");
ui->label_4->setPixmap(m_photo);
}
void Dialog::setTel(QString InputTel)
{
m_Tel=InputTel;
ui->lineEdit_3->setText(m_Tel);
}
void Dialog::setDept(QString InputDept)
{
m_Dept=InputDept;
ui->lineEdit_2->setText(m_Dept);
}
void Dialog::on_pushButton_clicked()
{//确定按钮的槽函数
m_Name=ui->lineEdit->text();
m_Tel=ui->lineEdit_3->text();
m_Dept=ui->lineEdit_2->text();
accept();
}
void Dialog::on_pushButton_2_clicked()
{//取消按钮的槽函数
reject();
}

mainwindow.h文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include
#include

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();

private slots:
void on_pushButton_clicked();

private:
Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
mainwindow.cpp文件
#include “mainwindow.h”
#include “ui_mainwindow.h”

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}

MainWindow::~MainWindow()
{
delete ui;
}
//主窗口按钮的槽函数
void MainWindow::on_pushButton_clicked()
{
//定义Dialog对话框对象
Dialog m_Dlg;
m_Dlg.setName(tr(“Mary”));
m_Dlg.setDept(tr(“second”));
m_Dlg.setTel(tr(“01012345678”));
m_Dlg.exec();
ui->statusBar->showMessage(tr(“name:%1 ; dept:%2 ; tel:%3”).arg(m_Dlg.m_Name).arg(m_Dlg.m_Dept).arg(m_Dlg.m_Tel));//在主窗口状态条上显示
}

你可能感兴趣的:(嵌入式操作系统、Qt)