手机版

VS2012下QT创建者登录对话框的设计

时间:2021-08-31 来源:互联网 编辑:宝哥软件园 浏览:

最近看《Qt教程及软件》学QT。这本书的编程是在Qt creator上进行的,我更喜欢在VS2012上开发。所以,根据我在实验中的经验,我会注意到VS2012中Qt编程的一些问题和解决方法,我用的是Qt5.3版本。

首先,建立一个新项目

选择Qt应用程序并填写项目名称

始终下一步,基类选择QWidget,并单击完成来创建它

此时项目中没有添加相应的包含文件,很多地方显示“无法打开源文件……”。选择菜单栏项目-用户属性…进入添加头文件设置页面

单击“附加包含目录”在QT安装目录下编辑并添加以下文件夹

创建新的对话框类,右键单击项目名称并添加新类

选择Qt5类,然后双击Qt5类

填写基类的对话框,然后单击完成完成创建

然后整理ui,在logindlg.ui中设计了如下界面:行输入框为Line Edit。其中,用户名后面的输入框在属性中设置为usrLineEdit,密码后面的输入框为pwdLineEdit,登录按钮为loginBtn,退出按钮为exitBtn。设置如下图:

单击选择“编辑信号/插槽”

,按住退出按钮并拖动

,弹出对话框,信号选择点击(),插槽选择关闭(),实现点击退出功能。不关闭(),选择“显示从QWidget继承的信号和插槽”。

按照上面的方法,设置登录按钮的信号和槽位,自己写槽位函数,这样点击编辑,增加一个槽位1(),改名为on_loginBtn_clicked()。单击确定。保存Qt设计器并关闭。

回到VS2012,修改main.cpp:

# include ' user . h ' # include QtWidgets/qaapplication # include ' logindlg . h ' int main(int argc,char * argv[]){ qaapplication a(argc,argv);用户w;loginDlg登录;if(log in . exec()==qdialog : accepted){ w . show();返回a . exec();}否则返回0;}然后修改loginDlg.cpp,首先在loginDLg.h中添加上一个槽函数的声明.

# ifndef LOGINDLG _ H #定义LOGINDLG _ H # include Qdialog # include ' ui _ LOGINDLG . H ' class LOGINDLG : public Qdialog { Q _ objectpublic : LOGINDLG(QWidget * parent=0);~ loginDlg();private : ui :3360 log indlg * ui;//这里,ui定义为指向类的指针,private slots : void on _ log in BTN _ clicked();//插槽函数声明};#endif //LOGINDLG_H最后,在loginDlg.cpp中定义槽函数,如果输入的账号密码正确,进入主窗口,否则报错。

void logindllg :3360 on _ loginBtn _ clicked(){ if(ui-usrLineEdit-text()==tr(' caddress ')ui-pwdLineEdit-text()==tr(' 123456 ')accept();else { qmessagebox : Warning(this,tr('Warning ')),tr('用户名或密码错误!'),qmessagebox :3360 yes): } }到目前为止,程序中还是有很多错误,大部分头文件都没有找到。按照上述方法继续添加相应的文件夹:

添加后点击【编译】,会找到对应的头文件。

loginDlg.cpp的完整代码:

# include ' logindlg . h ' # include qmessagebox//添加此头文件以使用qmessagebox logindlg : logindlg(qwidget * parent): q dialog(parent){(* ui)。setupui(这个);//这里ui需要是类类型。所以解决方案指针} login DLG :3360 ~ login DLG(){ } void login DLG 33603360 on _ login BTN _ clicked(){ if(ui-usrlineedit-text()==tr(' c '地址)ui-pwdlineEdit-text()。else { qmessagebox : Warning(this,tr('Warning ')),tr('用户名或密码错误!'),qmessagebox :3360 yes);}}点击编译实现该功能

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:VS2012下QT创建者登录对话框的设计是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。