实验结果:
操作步骤:
<1>先在mainwindow.ui内设计界面
然后添加新的ui界面,如图:
在logindialog.h的代码为:
#ifndef LOGINDIALOG_H
#define LOGINDIALOG_H
#include <QDialog>
#include <QLineEdit>
#include <QGridLayout>
#include <QPushButton>
#include <QFileDialog>
namespace Ui {
class loginDialog;
}
class loginDialog : public QDialog
{
Q_OBJECT
public:
explicit loginDialog(QWidget *parent = 0);
~loginDialog();
private:
Ui::loginDialog *ui;
QLineEdit * P_lineEdit;
QGridLayout * p_MainLayout;
QPushButton * p_QPushButton;
private slots:
void ShowFile();
};
#endif // LOGINDIALOG_H
在 logindialog.cpp内的代码为:
#include "logindialog.h"
#include "ui_logindialog.h"
loginDialog::loginDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::loginDialog)
{
ui->setupUi(this);
P_lineEdit=new QLineEdit(this);
p_MainLayout=new QGridLayout(this);
p_QPushButton=new QPushButton(this);
p_MainLayout->addWidget(P_lineEdit,0,0);
p_MainLayout->addWidget(p_QPushButton,0,1);
connect(p_QPushButton,SIGNAL(clicked()),this,SLOT(ShowFile()));
}
loginDialog::~loginDialog()
{
delete ui;
}
void Login::SHowFile()
{
QString FileName=QFileDialog::getOpenFileName(0,"打开文件","","C++ Files(*.cpp)");
p_lineEdit->setText(Filename);
}