当前位置: 首页 > news >正文

【Qt】 编辑框 | 按钮 | 坐标系 的 初步了解

文章目录

  • 1. 编辑框
    • 图形化方式
    • 纯代码方式
  • 2. 按钮
    • 图形化方式
  • 3. 坐标系

1. 编辑框

这里以实现 hello world 为例
即 使用 编辑框 完成 Hello World

图形化方式


单行编辑框 QLineEdit
多行编辑框 QTextEdit


点击 widget.ui 并打开 调用 Qt designer 这个图形化工具 完成窗口界面的编辑


Input Widgets找到 Line Edit


Line Edit 拖拽 到 右侧的框中


在空白处 输入 hello world


也可以通过右侧的属性 编辑区进行修改
text 表示 编辑框中的文本


若在text 对应的编辑框中进行修改 则 对应的白色框中内容也会被修改


同时 点击运行后 生成的文本框 也是可以编辑的


纯代码方式

在 widget.cpp文件中 先将头文件 #include 加上
再new 一个对象 edit


this指向的父对象 是 widget 对象 (与前面QLabel用法类似)


运行程序后 发现当前文本框 同样是可以编辑的

2. 按钮

这里以实现 hello world 为例
即 使用 按钮 完成 Hello World


图形化方式

Buttons 中 存在 一个 Push Button
Push Button 表示 普通按钮


Push Button 拖拽到 右侧框中 并输入 hello world


运行后 生成文本框 发现框中的 hello world 按钮 可以点击
但是发现点击按钮 并没有反应
就要引入 Qt中的 信号槽 机制 (简单演示使用方式 后续会详细介绍)
本质为 给按钮的点击操作 关联上一个处理函数 即当用户点击的时候 会执行这个处理函数


Qt designer 中 创建 一个 控件( push Button) 时 就会给 该控件分配一个objectName 的属性
本这个属性的值 要求在界面上是唯一的 (不能和别人重复)

qmake 在预处理 .ui文件时 就会根据 这里的 objectName 生成对应的 C++代码
C++代码中该 PushButton 对象的变量名字 就是这里的 objectName


给按钮添加 点击处理操作
connect QObject 这个类 提供的静态函数
connect 函数 的作用为 连接信号
第一个参数 表示 信号是谁发的 ui->pushButton 就可以访问到 form file (ui 文件) 中创建的控件pushButton
第二个参数 为 函数指针 &QPushButton::clicked 表示 点击按钮时 会触发这样的信号
第三个参数 那个对象的槽函数 this 指向父对象 即 widget对象的槽函数


connect 函数的 第四个参数 函数指针 指定具体处理的函数 &Widget::hanleClick (自己写的)
若当前按钮为 hello world 则切换为 hello qt
若当前按钮为 hello qt 则切换为 hello world


当点击 ui->pushButton 时 会自动触发 &QPushButton::clicked 信号 由 widget对象处理信号
具体按照 &Widget::hanleClick(自己写的) 处理信号


当运行程序时 按钮为 hello world 当点击按钮后 就会变成 hello qt


3. 坐标系

坐标体系: 以左上角为 原点 (0,0) X向右增加 Y向下增加


当给 Qt 某个控件 设置位置时 就需要指定坐标
对于这个控件来说 坐标系原点就是相对于父窗口/控件


有一个显示器屏幕 在屏幕中有一个Qt窗口 QWidget
QWidget 窗口中 存在一个 QPushButton 按钮


QPushButton 的父控件 即为 QWidget
在QPushButton 只能在 父控件 QWidget 的范围内 进行移动


QWidget 没有父元素 就相当于 QWidget 的父元素 是整个 显示器 屏幕


new 一个 对象 button (QPushButton 表示普通按钮) 其父对象为 Widget对象
再通过 setText函数 去显示 文本内容 按钮


运行程序后 发现在左上角 即以父元素为基准 来进行显示的


红框部分表示 Widget 的范围

默认情况下 按钮在 (0,0) 位置 即左上角


move 函数的参数为 一组坐标 表示 将按钮移动到 那里去
坐标的单位为 像素
move(200,300) 表示 水平方向找200个像素 垂直方向找300个像素



http://www.mrgr.cn/news/3063.html

相关文章:

  • 20240820飞凌的OK3588-C的核心板在Linux R4下使用poweroff关机
  • element-plus form 表单嵌套表格树单行校验问题
  • 硅谷物理服务器有哪些关键优势和特点
  • C语言典型例题46
  • nvidia系列教程-AGX-Orin 外接rtc DS1340芯片调试
  • nginx支持的不同事件驱动模型
  • 【IDEA】idea配置服务器没有tomcat
  • Postman内置动态参数和自定义动态参数
  • 仿RabbitMq实现简易消息队列正式篇(消费者篇)
  • mac 安装Arthas
  • 花钱买不到系列—linux 什么是进程
  • [C#]将opencvsharp的Mat对象转成onnxruntime的inputtensor的3种方法
  • MCAL--MCU (S32K144)
  • 【数学建模】趣味数模问题-状态转移模型的应用
  • 给SystemUI 状态栏设置图标黑名单
  • 【网络安全】漏洞挖掘:IDOR实例
  • 无人机中的温度/湿度/气压传感器详解!!!
  • 用Python动态条形图展示巴黎奥运会金牌榜
  • SQL - 多表查询
  • 机器学习 第12章-计算学习理论