Qt开发登录框的bug
来源:互联网 发布:求最短路径的算法 编辑:程序博客网 时间:2024/06/06 18:00
首先我新建了一个空工程,然后添加login.h头文件:
#ifndef LOGIN_H#define LOGIN_H#include<QtGui/QDialog>class QLineEdit;class SLoginDlg : public QDialog{ Q_OBJECTpublic: SLoginDlg(QWidget *parent = 0); virtual ~SLoginDlg();public slots: virtual void accept();private: QLineEdit *userLineEdit; QLineEdit *pwdLineEdit;};#endif // LOGIN_H
再者添加login.cpp源文件:
#include"login.h"#include<QtGui/QtGui>SLoginDlg::SLoginDlg(QWidget *parent) : QDialog(parent){ setWindowTitle(tr("登录")); QLabel *userLabel = new QLabel(tr("用户名")); QLabel *pwdLabel = new QLabel(tr("密码")); userLineEdit = new QLineEdit; pwdLineEdit = new QLineEdit; pwdLineEdit->setEchoMode(QLineEdit::Password); userLineEdit->setPlaceholderText(tr("条码号/学号")); pwdLineEdit->setPlaceholderText(tr("请输入密码")); QGridLayout *gridLayout = new QGridLayout; gridLayout->addWidget(userLabel,0,0,1,1); gridLayout->addWidget(userLineEdit,0,1,1,3); gridLayout->addWidget(pwdLabel,1,0,1,1); gridLayout->addWidget(pwdLineEdit,1,1,1,3); QPushButton *okButton = new QPushButton(tr("登录")); QPushButton *cancelButton = new QPushButton(tr("取消")); QHBoxLayout *btnLayout = new QHBoxLayout; btnLayout->setSpacing(60); btnLayout->addWidget(okButton); btnLayout->addWidget(cancelButton); QVBoxLayout *faceLayout = new QVBoxLayout; faceLayout->setMargin(40); faceLayout->addLayout(gridLayout); faceLayout->setMargin(40); faceLayout->addLayout(btnLayout); setLayout(faceLayout); connect(okButton,SIGNAL(clicked()),this,SLOT(accept())); connect(cancelButton,SIGNAL(clicked()),this,SLOT(reject())); resize(300,200);}SLoginDlg::~SLoginDlg(){ delete userLineEdit; delete pwdLineEdit;}void SLoginDlg::accept(){ if(userLineEdit->text().trimmed()==tr("Hughen")&& pwdLineEdit->text()==tr("123456")) //trimmed()是过滤其中的非法字符 { QDialog::accept(); } else { QMessageBox::warning(this,tr("错误"),tr("用户名或密码错误,请检查大小写是否规范"),QMessageBox::Yes); userLineEdit->clear(); pwdLineEdit->clear(); userLineEdit->setFocus(); }}
最后添加main.cpp源文件:
#include"login.h"#include<QtGui/QtGui>#include<QTextCodec>int main(int argc,char *argv[]){ QApplication appLogin(argc,argv); QTextCodec::setCodecForTr(QTextCodec::codecForName("Hughen")); SLoginDlg *SLog = new SLoginDlg; SLog->show(); return appLogin.exec();}所有代码书写完成,然后在Qt for Desktop MSVC2010的构建环境下,编译链接,问题出现
程序异常终止,直接退出
到这里我就不明白了,求一个大神给点提示,我这代码究竟错在哪里?????
- Qt开发登录框的bug
- Qt QTabWidget的BUG(thinkvd开发日志)
- Qt中登录对话框的开发
- QT 4.4 的 BUG
- qt 的一个bug
- Qt的一个bug
- QT 字体设置的bug
- 【Qt编程】基于Qt的词典开发系列<八>--用户登录及API调用的实现
- 记一款bug管理系统(bugdone.cn)的开发过程(2) -如何做好登录界面
- Ubuntu无法登录的bug解决方案
- 论CSDN多账号登录的BUG
- QT中QmessageBox bug的修复
- QT - MAC下QTableWidget的Bug
- QT环境搭建常见的bug解决
- QT 4.8.0 QURL的Bug??
- Anaconda中关于Qt的bug
- QT 字符串转换的一个BUG
- qt解释json字符串的一个bug
- 防止表单回车form自动提交以及检测回车事件并处理
- IOS UIGraphicsBeginImageContextWithOptions 版本适配问题
- Windows API 多线程-学习笔记(一)
- ajax中的application/x-www-form-urlencoded中的使用
- TortoiseGit 使用教程
- Qt开发登录框的bug
- cmd命令
- 关于字符串转二进制、八进制、十进制、十六进制等的函数
- c++中的static
- 虚拟机装LINUX报错
- C++类型转换机制
- 通过注册表修改VC6.0的字体
- s:action标签
- USACO Runaround Numbers