- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
创建状态栏 教师:孔祥艳 学习目标 学会创建状态栏 实验目的 在上一个实验中,我们已经设计出了一个有菜单栏、菜单和快捷键的主窗口部件,这次实验我们将在上一个实验的基础上,进一部完善窗口风格的部件,添加状态栏。 int colNum = cursor.columnNumber(); //获取光标所在列的列号 first_statusLabel-setText(tr(%1 行 %2列).arg(rowNum).arg(colNum)); //在状态栏显示光标位置 } 这个函数可获取文本编辑框中光标的位置,并显示在状态栏中。 实验小结 本实验在上一个实验的基础上,添加了一个窗口应用程序常用的元素:状态栏。 应该来说,几乎所有的复杂一点的应用程序的界面都会设计到这个元素。本次实验简单起见,只是添加了简单的状态栏,但是基本框架已经建立起来,用户可以沿这这个思路继续丰富自己的程序。 * * * LOGO * P o w e r B a r 中国专业PPT设计交流论坛 实验过程 1.我们在mainwindow.h中做一下更改。文件包含: #include Qlabel 加入私有变量和函数: QLabel* first_statusLabel; //声明两个标签对象,用于显示状态信息 QLabel* second_statusLabel; void init_statusBar(); //初始化状态栏 加入一个槽函数声明: void do_cursorChanged(); //获取光标位置信息 * * 2.在mainwindow.cpp中加入状态栏初始化函数的定义。 void MainWindow::init_statusBar() { QStatusBar* bar = ui-statusBar; //获取状态栏 first_statusLabel = new QLabel; //新建标签 first_statusLabel-setMinimumSize(150,20); //设置标签最小尺寸 first_statusLabel-setFrameShape(QFrame::WinPanel); //设置标签形状 first_statusLabel-setFrameShadow(QFrame::Sunken); //设置标签阴影 second_statusLabel = new QLabel; * * second_statusLabel-setMinimumSize(150,20); second_statusLabel-setFrameShape(QFrame::WinPanel); second_statusLabel-setFrameShadow(QFrame::Sunken); bar-addWidget(first_statusLabel); bar-addWidget(second_statusLabel); first_statusLabel-setText(tr(“ 欢迎使用文本编辑器”)); //初始化内容 second_statusLabel-setText(tr(yafeilinux 制作!)); } * * 3.在构造函数里调用状态栏初始化函数。 init_statusBar(); * * 4.在mainwindow.cpp中加入获取光标位置的函数的定义 void MainWindow::do_cursorChanged() { int rowNum = ui-textEdit-document()-blockCount(); //获取光标所在行的行号 const QTextCursor cursor = ui-textEdit-textCursor(); * * 5.在构造函数添加光标位置改变信号的关联。 connect(ui-textEdit,SIGNAL(cursorPositionChanged()),this,SLOT(do_cursorChanged())); * * 6.在do_file_Load函数的最后添加下面语句。 second_statusLabel-setText(tr(打开文件成功)); * * 7.在saveFile函数的最后添加以下语句。 second_statusLabel-setText(tr(保存文件成功)); * * 8.在on_action_Find_triggered函数的后面添加如下语句。 second_statusLabel-setText(tr(正在进行查找)); * * 9.在on_action_Close_triggered函数最后添加如下语句。 first_statusLabel-setText(tr(文本编辑器已关闭)); s
文档评论(0)