Qt使用教程之创建一个基于Qt部件的应用程序(二)
来源:互联网 发布:微云for mac 编辑:程序博客网 时间:2024/05/18 22:18
<Qt Enterprise最新版下载>
在创建一个基于Qt部件的应用程序(一)中,我们为大家介绍了如何创建文本搜索项目。在本文中,我们将继续介绍另一部分重要内容——如何填充缺失部分。
填充缺失部分
从设计用户界面开始,然后转移到填充缺失的代码,最后添加查找功能。
设计用户界面
1. 在Editor模式中,双击Projects视图中的textfinder.ui文件来启动集成的Qt Designer。
2. 拖放以下的小部件到表单中:
- Label (QLabel)
- Line Edit (QLineEdit)
- Push Button (QPushButton)
注意:想要轻松地找到部件,那么使用在Sidebar顶部的搜索框。例如,想要查找Label部件,输入label即可。
3. 双击Label部件输入文本Keyword。
4. 双击Push Button部件然后输入文本Find。
5. 在Properties面板中,将objectName更改为findButton。
6. 使用Ctrl + A(或Cmd + A)来选择部件,然后点击Lay out Horizontally(或在Linux或Windows中使用Ctrl+H;在OS X中使用Ctrl+Shift+H)来应用一个水平布局 (QHBoxLayout)。
7. 拖放一个Text Edit部件 (QTextEdit) 到表单中。
8. 选择屏幕区域然后点击Lay out Vertically(或使用Ctrl+L)来应用一个垂直布局 (QVBoxLayout)。
应用该水平布局和垂直布局是为了确保应用程序的用户界面可扩展到不同的屏幕尺寸上。
9. 当用户点击Find按钮时想要调用查找功能,那么可以使用Qt的信号和slots机制。当一个特定事件发生并且slot被调用来响应一个特定信号时,一个信号将会被发射。Qt部件可以预定义信号和slots,你可以直接从Qt Designer中使用它。为查找功能添加一个slot:
- 右键单击Find按钮来打开上下文菜单。
- 选择Go to Slot > clicked(),然后选择OK。
一个私有的slot,添加on_findButton_clicked()到头文件、textfinder.h和私有功能中;TextFinder::on_findButton_clicked()添加到源文件、textfinder.cpp中。
10. 使用 Ctrl+S (或 Cmd+S)来保存你的更改。
有关使用Qt Designer设计表单的更多信息请参见Qt Designer Manual。
完成头文件
textfinder.h文件已经拥有了必要的#includes、构造函数、析构函数以及UI对象。你需要添加一个私有函数、loadTextFile()来读取并显示在QTextEdit中的输入文本文件的内容。
1. 在Edit视图的Projects面板中,双击textfinder.h文件来打开它并编辑。
2. 新增一个私有功能到私有部分中,在Ui::TextFinder指针后就说明了下面的代码片段:
private
slots:
void
on_findButton_clicked();
private
:
Ui::TextFinder *ui;
void
loadTextFile();
有兴趣的朋友可以点击查看更多有关Qt的文章!
- Qt使用教程之创建一个基于Qt部件的应用程序(二)
- Qt使用教程之创建一个基于Qt部件的应用程序(一)
- Qt使用教程之创建一个基于Qt部件的应用程序(三)
- Qt使用教程之创建Qt Quick应用程序(二)
- Qt使用教程之创建移动应用程序(二)
- Qt使用教程之创建Qt Quick应用程序(一)
- Qt使用教程之创建Qt Quick应用程序(三)
- Qt使用教程之创建移动应用程序(一)
- Qt使用教程之创建移动应用程序(三)
- Qt教程4-使用用户自定义的窗口部件
- VTK之基于Qt的VTK应用程序
- Qt使用教程之创建Qt Quick项目
- Qt之窗口部件
- Qt之按钮部件
- Qt使用教程之指定生成设置(二)
- Qt使用教程之指定运行设置(二)
- Qt使用教程之添加编译器(二)
- Qt--使用widget部件
- maven依赖关系中Scope的作用
- python第一章-字符串
- google guava
- IPAD下使用相册横屏异常的解决
- java实现链表和栈
- Qt使用教程之创建一个基于Qt部件的应用程序(二)
- Shell 同时读取多个文件
- android volley(三)使用Volley加载网络图片
- MPLAB X IDE使用心得
- try-catch-finally学习
- android Application类的详细介绍
- activity属性设置大全
- LeetCode 009 Palindrome Number
- MOV指令