Qt——基础操作(快捷键、工程文件,按钮对象树)

本文介绍Qt框架的基础知识,包括Qt的特性、快捷键、模块等内容,并详细讲解如何使用Qt创建程序,涉及命名规范、工程文件配置及界面元素的创建。

Qt概述

Qt:是一个跨平台的C++图形用户界面应用程序框架

  • 完全面向对象的,容易扩展,并允许真正的组件开发

Qt快捷键

  • 注释:Ctrl+/

  • 运行:Ctrl+r

  • 编译:Ctrl+b

  • 字体缩放:Ctrl+鼠标滚轮

  • 查找:Ctrl+f

  • 整行移动:Ctrl+shift+上下移动键

  • 帮助文档:F1

  • 自动对齐:Ctrl+i

  • 同名文件.h和.app文件之间的切换:F4

  • 帮助文档

    • 第一种方式 F1
    • 第二种 左侧按钮
    • 第三种 C:\Qt\Qt5.6.0\5.6\mingw49_32\bin

Qt模块

  • core:源代码
  • GUI:界面支持
  • widgets:窗体支持
  • network:网络模块
  • sql:数据库模块.
  • Serial:串口编程
  • multimedia:多媒体(音频、视频、摄像头)

创建QT程序

命名规范

  • 类名 首字母大写,单词和单词之间首字母大写
  • 函数名 变量名称 首字母小写,单词和单词之间首字母大写

main.cpp

#include "widget.h"
#include <QApplication>  // 包含一个应用程序类的头文件

// main程序入口,argc命令行变量的数量,argv命令行变量的数量
int main(int argc, char *argv[])
{
   
   
    // a应用程序对象,在qt中,应用程序对象有且仅有一个
    QApplication a(argc, argv);
    
    // 窗口对象,通过类来实例化一个窗口对象,Widget的父类为QWidget
    Widget w;
    
    // 窗口对象,默认不显示,只有调用show方法才显示
    w.show();
    
    // 让应用程序a,进入消息循环
    // 消息循环,让当前代码阻塞到这行,点左上角的×才退出循环,
    return a.exec();
}

运行结果为:
在这里插入图片描述

  • 创建第一个Qt程序

### Qt Designer 中设置快捷键的方法 在 Qt Designer 中,可以通过多种方式为控件设置快捷键。以下是具体实现方法: #### 方法一:直接通过代码设置快捷键 可以直接在 C++ 或 Python (PyQt/PySide) 的代码中调用 `setShortcut` 函数来为按钮或其他继承自 QAbstractButton 的控件绑定快捷键。 例如,在 PyQt 中可以这样操作: ```python left_button.setShortcut(QKeySequence(Qt.Latin1String("Left"))) # 绑定 Left 键作为快捷键[^1] right_button.setShortcut(QKeySequence(Qt.Latin1String("Right"))) # 绑定 Right 键作为快捷键 ``` 上述代码展示了如何利用 `QKeySequence` 来指定按键组合并将其分配给特定的按钮。 --- #### 方法二:通过 Qt Designer 属性编辑器设置快捷键 虽然 Qt Designer 默认不提供直观的方式用于设置快捷键,但某些情况下可以在属性窗口找到名为 **shortcut** 的字段(仅限于部分标准控件)。如果目标控件支持该属性,则可在此处输入相应的键盘序列字符串表示法(如 `"Ctrl+S"` 或 `"F5"`),从而完成快捷键配置。 对于那些未暴露此选项的标准组件或者完全由开发者自行设计的新类型而言,则需采用更灵活的技术手段——即下面介绍的内容... --- #### 方法三:借助 QShortcut 实现高级定制化功能 为了增强灵活性以及适应更多场景需求, 可以创建独立的对象实例并与目标 widget 关联起来共同工作: ```cpp // 创建一个新的快捷键对象并将它链接至某个动作上. QShortcut *sc = new QShortcut(QKeySequence(tr("Ctrl+P")), ui->pushButton); connect(sc, &QShortcut::activated, ui->pushButton, &QPushButton::click); // 当激活时模拟一次鼠标单击行为.[^2] ``` 这里演示了怎样构建一个基于 Ctrl+P 的全局响应机制,并且每当检测到匹配事件发生的时候都会自动执行 pushButton 控制上的 click() 虚拟槽函数逻辑. 同样地,在 PyQT/Pyside 下也可以轻松移植这段思路: ```python sc = QtWidgets.QShortcut(QtGui.QKeySequence('Ctrl+P'), self.ui.pushButton) sc.activated.connect(self.ui.pushButton.click)[^2] ``` 以上片段说明了即使面对复杂情况仍然能够依靠编程技巧达成预期效果的同时保持良好的用户体验一致性水平线之上! --- ### 总结 综上所述,无论是简单项目还是大型应用开发过程中遇到关于界面交互方面的需求变更挑战之时,都可以考虑运用本文提到的各种解决方案之一去妥善解决实际问题所在之处。记住每种途径都有各自适用范围及其局限性特点,请根据具体情况合理选用最为合适的那一种吧!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值