好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第26讲常用控件.ppt

24页
  • 卖家[上传人]:鲁**
  • 文档编号:591540754
  • 上传时间:2024-09-18
  • 文档格式:PPT
  • 文档大小:1.28MB
  • / 24 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 26第讲118 九月 2024•1 目标LabelLabel控件控件PushButtonPushButton控件控件LineEditLineEdit控件控件•2 问题引入问题引入QT控件编程控件编程How To ?•3 Label控件控件•((1)) 定义定义QLabel* m_labelOrdered = new QLabel("0", this);((2)) 对文字的左右对齐设置对文字的左右对齐设置m_labelOrdered->setAlignment(Qt::AlignLeft);//左对齐左对齐其它还有,横向对齐:其它还有,横向对齐:Qt::AlignAuto – 根据语言内容,大部分是左对齐右对齐的有:阿拉伯根据语言内容,大部分是左对齐右对齐的有:阿拉伯语、希伯来(现代以色列)语语、希伯来(现代以色列)语Qt::AlignLeft – 居左居左Qt::AlignRight – 居右居右Qt::AlignHCenter – 居中居中Qt::AlignJustify – 两端对齐并不是所有时候都有效,有时会被两端对齐并不是所有时候都有效,有时会被AlignAuto中断中断竖向对齐:竖向对齐:Qt::AlignTop – 居顶居顶Qt::AlignBottom – 居底居底Qt::AlignVCenter – 居中居中同时只可以使用一个横向或竖向对齐方式。

      但是还有一个同时设置横竖方同时只可以使用一个横向或竖向对齐方式但是还有一个同时设置横竖方向的标记:向的标记:Qt::AlignCenter – 横竖都居中横竖都居中•内容自动换行:内容自动换行:•QLabel::WordBreak• •4 Label控件控件•两个方法:两个方法:•((1)) 在在setText()时,用时,用HTML串赋值,里串赋值,里面加上换行符面加上换行符•((2)) 使用使用QTextEdit代替设置:代替设置:read-only/frame trued off/its palette's window/background brush set to no-brush用QTextEdit还有一个好处,就是还有一个好处,就是可以对内容进行赋值粘贴可以对内容进行赋值粘贴 • •5 PushButton控件控件•6 LineEdit控件控件•7 窗体窗体vWidgetvDialogv多窗体•8 练习练习v登入界面v实现功能:实现功能:v在弹出对话框中填写用户名和密码,按下登录按钮,如果用户名和密码均正确则进入主窗口,如果有错则弹出警告对话框•9 新建新建Qt4 Gui Application工程工程v1. 新建Qt4 Gui Application工程,工程名为mainWidget,选用QWidget作为Base class:•10 新建新建Qt Designer Form Class类类v2. 新建一个Qt Designer Form Class类,类名为loginDlg,选用Dialog without Buttons,将其加入上面的工程中。

      •11 设计界面设计界面v3.在logindlg.ui中设计下面的界面:行输入框为Line Edit其中用户名后面的输入框在属性中设置其object Name为usrLineEdit,密码后面的输入框为pwdLineEdit,登录按钮为loginBtn,退出按钮为exitBtn•12 v将exitBtn的单击后效果设为退出程序,关联如下: •13 v5.右击登录按钮选择go to slot,再选择clicked(),然后进入其单击事件的槽函数,实现v    void loginDlg::on_loginBtn_clicked(){    accept();}•14 v6.改写main.cpp:v#include #include “widget.h”#include “logindlg.h”int main(int argc, char *argv[]){    QApplication a(argc, argv);    Widget w;    loginDlg login;    if(login.exec()==QDialog::Accepted)    {        w.show();        return a.exec();    }    else return 0;}•15 v8.添加用户名密码判断功能。

      将登陆按钮的槽函数改为:void loginDlg::on_loginBtn_clicked(){if(m_ui->usrLineEdit->text()==tr(“qt”)&&m_ui->pwdLineEdit->text()==tr(“123456″))//判断用户名和密码是否正确accept();else{QMessageBox::warning(this,tr(“Warning”),tr(“user name or password error!”),QMessageBox::Yes);//如果不正确,弹出警告对话框}}v并在logindlg.cpp中加入#include 的头文件如果不加这个头文件,QMessageBox类不可用•16 v9. 执行程序,输入用户名为qt,密码为123456,按登录按钮便能进入主窗口了,如果输入错了,就会弹出警告对话框•17 v如果输入错误,便会弹出警告提示框:•18 v10.在logindlg.cpp的loginDlg类构造函数里,添上初始化语句,使密码显示为小黑点loginDlg::loginDlg(QWidget *parent) :QDialog(parent),m_ui(new Ui::loginDlg){m_ui->setupUi(this);m_ui->pwdLineEdit->setEchoMode(QLineEdit::Password);}•19 v11.如果输入如下图中的用户名,在用户名前不小心加上了一些空格,结果程序按错误的用户名对待了。

      •20 v 更改if判断语句,使这样的输入也算正确void loginDlg::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(“user name or password error!”),QMessageBox::Yes);}}v加入的这个函数的作用就是移除字符串开头和结尾的空白字符•21 v12. 如果输入错误了,重新回到登录对话框时,我们希望可以使用户名和密码框清空并且光标自动跳转到用户名输入框,最终的登录按钮的单击事件的槽函数如下:void loginDlg::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(“user name or password error!”),QMessageBox::Yes);//如果不正确,弹出警告对话框m_ui->usrLineEdit->clear();//清空用户名输入框m_ui->pwdLineEdit->clear();//清空密码输入框m_ui->usrLineEdit->setFocus();//将光标转到用户名输入框}}•22 练习练习v综合应用讲过的三个控件•23 小结小结vLabel控件的使用vPushButton的使用vLineEdit控件使用•24 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.