Qt之常用控件一

Widget常见属性及其作用
属性作用
enabled
设置控件是否可使⽤. true 表⽰可⽤, false 表⽰禁⽤
geometry
位置和尺⼨. 包含 x, y, width, height 四个部分.
其中坐标是以⽗元素为参考进⾏设置的.
windowTitle
设置 widget 标题
windowIcon
设置 widget 图标
windowOpacity
设置 widget 透明度
cursor
⿏标悬停时显⽰的图标形状.
是普通箭头, 还是沙漏, 还是⼗字等形状.
在 Qt Designer 界⾯中可以清楚看到可选项.
font
字体相关属性.
涉及到字体家族, 字体⼤⼩, 粗体, 斜体, 下划线等等样式
toolTip
⿏标悬停在 widget 上会在状态栏中显⽰的提⽰信息
toolTipDuring
toolTip 显⽰的持续时间.
styleSheet
允许使⽤ CSS 来设置 widget 中的样式.
Qt 中⽀持的样式⾮常丰富, 对于前端开发⼈员上⼿是⾮常友好的.
focusPolicy
该 widget 如何获取到焦点.
Qt::NoFocus:控件不参与焦点管理,即⽆法通过键盘或⿏标获取焦点
Qt::TabFocus:控件可以通过Tab键获得焦点
Qt::ClickFocus:控件可以通过⿏标点击获得焦点
Qt::StrongFocus:控件可以通过键盘和⿏标获得焦点
Qt::WheelFocus:控件可以通过⿏标滚轮获得焦点(在某些平台或样式中可能不可
⽤)
statusTip
Widget 状态发⽣改变时显⽰的提⽰信息(⽐如按钮被按下等).
whatsThis
⿏标悬停并按下 alt+F1 时, 显⽰的帮助信息(显⽰在⼀个弹出的窗⼝中).
autoFillBackground
是否⾃动填充背景颜⾊.

enabled
API说明
isEnabled()获取到空间的可用状态
setEnabled()设置空间是否可用

例子

设置两个按钮,第二个按钮用来切换第一个按钮是否可用

即:

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{qDebug()<<"执行了槽函数";
}void Widget::on_pushButton_enable_clicked()
{//切换第一个按钮的禁用状态//先获取到第一个按钮当前的可用状态bool enable=ui->pushButton->isEnabled();if(enable){ui->pushButton->setEnabled(false);}else{ui->pushButton->setEnabled(true);}
}
geometry
位置和尺⼨. 其实是四个属性的统称:
x 横坐标
y 纵坐标
width 宽度
height ⾼度
API说明
geometry()
获取到控件的位置和尺⼨. 返回结果是⼀个 QRect, 包含了 x, y, width, height. 其
中 x, y 是左上⻆的坐标
setGeometry(QRect)
setGeometry(int x, int y,
int width, int height)
设置控件的位置和尺⼨. 可以直接设置⼀个 QRect, 也可以分四个属性单独设置

例子:控制移动

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_up_clicked()
{QRect rect=ui->pushButton_target->geometry();qDebug()<<rect;
//    rect.setY(rect.y()-5);
//    ui->pushButton_target->setGeometry(rect);ui->pushButton_target->setGeometry(rect.x(),rect.y()-5,rect.width(),rect.height());
}void Widget::on_pushButton_down_clicked()
{QRect rect=ui->pushButton_target->geometry();qDebug()<<rect;
//    rect.setY(rect.y()+5);
//    ui->pushButton_target->setGeometry(rect);ui->pushButton_target->setGeometry(rect.x(),rect.y()+5,rect.width(),rect.height());
}void Widget::on_pushButton_left_clicked()
{QRect rect=ui->pushButton_target->geometry();qDebug()<<rect;
//    rect.setX(rect.x()-5);
//    ui->pushButton_target->setGeometry(rect);ui->pushButton_target->setGeometry(rect.x()-5,rect.y(),rect.width(),rect.height());
}void Widget::on_pushButton_right_clicked()
{QRect rect=ui->pushButton_target->geometry();qDebug()<<rect;
//    rect.setX(rect.x()+5);
//    ui->pushButton_target->setGeometry(rect);ui->pushButton_target->setGeometry(rect.x()+5,rect.y(),rect.width(),rect.height());
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/10418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java日历类概述

Java中的Calendar类位于java.util包下&#xff0c;它是一个抽象类&#xff0c;用于表示和管理日期及时间。Calendar类并不是直接实例化的&#xff0c;而是通过其提供的静态方法来获取实例。通常情况下&#xff0c;当你尝试创建一个Calendar实例时&#xff0c;实际上你得到的是G…

The 2023 ICPC Asia Hefei Regional Contest

目录 B. Queue Sorting 应该还会再补几题 B. Queue Sorting 题解&#xff1a; Dilworth定理: 【偏序关系与偏序集、Hasse图、极大元、极小元、全序关系、最大元、良序集/三小时讲不完离散数学之集合论/考研复试/期末复习考前冲刺/近世代数/抽象代数】https://www.bilibili.c…

C++奇迹之旅:string类对象的容量操作

文章目录 &#x1f4dd; string类的常用接口&#x1f309; string类对象的容量操作&#x1f320;size&#x1f320;length&#x1f320;capacity&#x1f320;clear&#x1f320;empty&#x1f320;reserve&#x1f309;resize &#x1f6a9;总结 &#x1f4dd; string类的常用…

JavaScript进阶2

自定义对象 let 自定义对象名{ 属性名:属性值, 函数名称:function(形参列表){} }; 注意&#xff1a;在自定义对象中使用当前自定义对象的属性或者函数&#xff0c;需要使用this <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-…

PMP有效期三年后,还有必要续证吗?

通常情况下是必要的&#xff0c;续证条件是在3年内累积60个PDU和支付150美元。如果到期后没有进行续证&#xff0c;但仍希望保持证书&#xff0c;就需要重新参加PMP考试。重新参加考试的费用包括3900元的报名费和数千元的培训费。因此&#xff0c;与重新考试相比&#xff0c;续…

面向过程和面向对象

面向过程和面向对象的概念及区别 面向过程&#xff1a; 概念&#xff1a; 面向过程是一种以事件为中心的编程范式。它按照功能将程序结构划分为若干个基本模块&#xff0c;形成树状结构。每个模块内部一般由顺序、选择和循环三种基本结构组成。 特点&#xff1a; 程序流程在编…

实现ApplicationContextAware接口完成springboot项目的初始化处理工作

需求&#xff1a;在项目启动的时候&#xff0c;从数据库里取出所有敏感词&#xff0c;放到map里面。 ApplicationContextAware 的实现类的setApplicationContext方法可以获取到IOC容器&#xff0c;虽然这个案例里面并没有什么用&#xff0c;但是项目初始化一般实现ApplicationC…

C++中rand()函数和随机数种子

C中rand()函数的用法 rand() % (b-a1) a ; 就表示 a~b 之间的一个随机整数。 表达式 int num rand() % 100 1; 产生的是1到100之间的随机数&#xff0c;而不是1到99。 rand() % 100 会产生一个从0到99的随机数&#xff0c;因为 % 是取模运算符&#xff0c;它会给出 rand() …

【算法刷题day49】Leetcode:123.买卖股票的最佳时机III、188. 买卖股票的最佳时机 IV

文章目录 Leetcode 123.买卖股票的最佳时机III解题思路代码总结 Leetcode 188. 买卖股票的最佳时机 IV解题思路代码总结 草稿图网站 java的Deque Leetcode 123.买卖股票的最佳时机III 题目&#xff1a;123.买卖股票的最佳时机III 解析&#xff1a;代码随想录解析 解题思路 定…

【AI】人工智能的应用及挑战

AI是人工智能&#xff08;Artificial Intelligence&#xff09;的缩写&#xff0c;它是一种模拟人类智能的技术和系统&#xff0c;旨在使计算机能够模仿人类的思维、学习、推理、理解自然语言&#xff0c;并能执行各种任务。AI利用大数据、机器学习、模式识别、自然语言处理等技…

通过 Java 操作 redis -- 基本通用命令

目录 使用 String 类型的 get 和 set 方法 使用通用命令 exists &#xff0c;del 使用通用命令 keys 使用通用命令 expire,ttl 使用通用命令 type 要想通过 Java 操作 redis&#xff0c;首先要连接上 redis 服务器&#xff0c;推荐看通过 Java 操作 redis -- 连接 redis 关…

思维导图在线怎么制作?推荐这些工具

思维导图在线怎么制作&#xff1f;在如今的快节奏时代中&#xff0c;思维导图作为一种高效的信息组织与思考工具&#xff0c;受到了广泛的应用。在线制作思维导图成打破了时间和空间的限制&#xff0c;使得团队协作变得更加便捷&#xff0c;个人创作也更为灵活。以下是四款备受…

建模电梯的状态图和学生选课ER图

第一题 尝试建模电梯的状态图&#xff08;选做&#xff09; 第二题 学校规定&#xff1a; 一个学生可选修多门课&#xff0c;一门课有若于学生选修。 一个教师可讲授多门课&#xff0c;一门课只有一个教师讲授。 一个学生选修一门课&#xff0c;仅有一个成绩。 学生的属性有学号…

JS中的arguments是什么?

arguments是当我们不确定有多少个参数传递时&#xff0c;就可以使用argument来获取。在js中&#xff0c;arguments实际上就是当前函数的一个内置对象&#xff0c;存储了我们传递的所有实参。arguents的展示形式就是一个伪数组&#xff0c;所以我们可以对它进行遍历。 我们先来…

机器学习-监督学习

监督学习是机器学习和人工智能中的一个重要分支&#xff0c;它涉及使用已标记的数据集来训练算法&#xff0c;以便对数据进行分类或准确预测结果。监督学习的核心在于通过输入数据&#xff08;特征&#xff09;和输出数据&#xff08;标签或类别&#xff09;之间的关系&#xf…

基于Python的飞机大战游戏

学习目标 了解 飞机大战游戏的规则 理解 面向对象思想,会独立设计游戏的类与模块 掌握 pygame模块的使用 1.1 游戏介绍 飞机大战是一款由腾讯公司微信团队推出的软件内置的小游戏,这款游戏画面简洁有趣,规则简单易懂,操作简便易上手,在移动应用兴起之初曾风靡一时。 1.1.…

使用YOLOv8 YOLOv5 进行距离测量,速度测量。使用目标检测进行测距,测速是如何实现的呢?

文章大纲 简介差帧算法(Frame Difference Algorithm)目标检测测距使用YOLOv8 进行测距代码样例代码原理目标检测测速使用YOLOv8 进行测速代码原理参考文献综述简介 导读 在精确检测车速车距的方案中,视觉方案是非常具有挑战性的,但由于没有昂贵的距离传感器而大幅降低成本…

oracle 9i 行头带有scn的表

oracle 9i 行头带有scn的表 conn scott/tiger drop table t1; drop table t2; create table t1(c varchar2(5)); create table t2(c varchar2(6)) ROWDEPENDENCIES; --t2表每行都有scn,会增加六个字节的开销 alter table t1 pctfree 0; alter table t2 pctfree 0; insert in…

WordPress原创插件:超链接点击访问统计

WordPress原创插件&#xff1a;超链接点击访问统计 https://download.csdn.net/download/huayula/89296775

【Ajax零基础教程】-----第四课 简单实现

一、XMLHttpRequest对象 通过XMLHttpRequest对象来向服务器发送异步请求&#xff0c;从服务器获取数据。然后用JavaScript来操作DOM而更新页面。XMLHttpRequest是ajax的核心机制&#xff0c;它是IE5中首先引入的&#xff0c;是一种支持异步请求的技术。 简单的说&#xff0c;也…