预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

南昌航空大学实验报告 二00一四年五月十四日 课程名称:嵌入式系统设计及应用实验名称:QT应用程序设计 班级:姓名:同组人: 指导教师评定:签名: 一、实验内容 1.阅读QT主窗口程序helloworld.cpp,然后编译并运行。 2.在helloworld.cpp程序中增加一个名为“hello”的按钮。 3.编写一个登陆对话窗程序 二、实验步骤 (一)helloword程序 1.我们用File->New菜单来新建工程。 2这里我们选择Qt4GuiApplication。 3下面输入工程名和要保存到的文件夹路径。我们这里的工程名为helloworld。 4这时软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以直接点击Next。 5.我们将baseclass选为QDialog对话框类。然后点击Next。 6点击Finish,完成工程的建立。 7我们可以看见工程中的所有文件都出现在列表中了。我们可以直接按下下面的绿色的run按钮或者按下Ctrl+R快捷键运行程序。 (二)登陆对话框程序 1.先新建Qt4GuiApplication工程,工程名为mainWidget,选用QWidget作为Baseclass,这样便建立了主窗口 2.然后新建一个QtDesignerFormClass类,类名为loginDlg,选用DialogwithoutButtons,将其加入上面的工程中 3.在logindlg.ui中设计下面的界面:行输入框为LineEdit。其中用户名后面的输入框在属性中设置其objectName为usrLineEdit,密码后面的输入框为pwdLineEdit,登录按钮为loginBtn,退出按钮为exitBtn。 4.将exitBtn的单击后效果设为退出程序,关联如下: 5.右击登录按钮选择gotoslot,再选择clicked(),然后进入其单击事件的槽函数,写入一句 voidloginDlg::on_loginBtn_clicked() { accept(); } 6.改写main.cpp: #include<QtGui/QApplication> #include“widget.h” #include“logindlg.h” intmain(intargc,char*argv[]) { QApplicationa(argc,argv); Widgetw;loginDlglogin; if(login.exec()==QDialog::Accepted) { w.show();returna.exec(); } else return0; } 7.这时执行程序,可实现按下登录按钮进入主窗口,按下退出按钮退出程序。 8.添加用户名密码判断功能。将登陆按钮的槽函数改为: voidloginDlg::on_loginBtn_clicked() { if(m_ui->usrLineEdit->text()==tr(“qt”)&&m_ui->pwdLineEdit->text()==tr(“123456″))//判断用户名和密码是否正确 accept(); else{ QMessageBox::warning(this,tr(“Warning”),tr(“usernameorpassworderror!”),QMessageBox::Yes);//如果不正确,弹出警告对话框 }} 9.这时再执行程序,输入用户名为qt,密码为123456,按登录按钮便能进入主窗口了,如果输入错了,就会弹出警告对话框。 10.如果输入错误,便会弹出警告提示框 11.在logindlg.cpp的loginDlg类构造函数里,添上初始化语句,使密码显示为小黑点。 loginDlg::loginDlg(QWidget*parent):QDialog(parent),m_ui(newUi::loginDlg){ m_ui->setupUi(this);m_ui->pwdLineEdit->setEchoMode(QLineEdit::Password); } 如果输入如下图中的用户名,在用户名前不小心加上了一些空格,结果程序按错误的用户名对待了。 我们可以更改if判断语句,使这样的输入也算正确。 voidloginDlg::on_loginBtn_clicked(){ if(m_ui->usrLineEdit->text().trimmed()==tr(“qt”)&&m_ui->pwdLineEdit->text()==tr(“123456″))accept(); else{ QMessageBox::warning(this,tr(“Warning”),tr(“usernameorpassworderror!”),QMessageBox