QWidget成员函数功能和使用详细说明(二)(文字+用例+代码+效果图)

文章目录

  • 1.测试工程配置
  • 2.成员函数
    • 2.1 void setFixedHeight(int h)
    • 2.2 void setFixedSize(const QSize &s)
    • 2.3 void setFixedSize(int w, int h)
    • 2.4 void setFixedWidth(int w)
    • 2.5 void setFocus(Qt::FocusReason reason)
    • 2.6 void setFocusPolicy(Qt::FocusPolicy policy)
    • 2.7 void setFocusProxy(QWidget *w)
    • 2.8 bool hasFocus() const
    • 2.9 void QWidget::clearFocus()
    • 2.10 QWidget *QWidget::focusWidget() const

1.测试工程配置

创建名为QtGuiAppTest的qwidget工程,带ui文件
在这里插入图片描述

2.成员函数

继承自QObject和QPaintDevice。QObject详见QObject各成员函数功能详细说明(文字+用例+代码+效果图)

2.1 void setFixedHeight(int h)

(1)功能说明
在不更改宽度的情况下将小部件的最小和最大高度设置为 h
(2)效果展示
在这里插入图片描述

(3)调用程序

QtGuiAppTest::QtGuiAppTest(QWidget *parent)
    :  QWidget(parent)
{
   
    ui.setupUi(this);
    this->setFixedHeight(300);
}

2.2 void setFixedSize(const QSize &s)

(1)功能说明
设置控件的最大与最小尺寸为s,从而防止窗口变化
(2)效果展示
在这里插入图片描述

(3)调用程序

QtGuiAppTest::QtGuiAppTest(QWidget *parent)
    :  QWidget(parent)
{
   
    ui.setupUi(this);
    this->setFixedSize(QSize(600, 400));
}

2.3 void setFixedSize(int w, int h)

重载函数
设置控件的宽度为w,高度为h

2.4 void setFixedWidth(int w)

设置控件的宽度为w

2.5 void setFocus(Qt::FocusReason reason)

(1)功能说明
将焦点设置在当前控件上(立即生效),并给出焦点改变原因reason,该信息可在focusInEvent()中即时获取到。
参数reason为枚举,具体如下:

常量名 常量值 描述
Qt::MouseFocusReason 0 由于鼠标点击改变了焦点
Qt::TabFocusReason 1 由于按下 Tab 键改变了焦点
Qt::BacktabFocusReason 2 此输入(可能包括 Shift 或 Control 键;例如 Shift+Tab)改变了焦点
Qt::ActiveWindowFocusReason 3 使此窗口处于活动状态或处于非活动状态从而改变了焦点
Qt::PopupFocusReason 4 应用程序打开/关闭了一个抓取/释放了键盘焦点的弹出窗口导致焦点改变
Qt::ShortcutFocusReason 5 用户键入了标签的伙伴关系快捷方式导致焦点改变
Qt::MenuBarFocusReason 6 菜单栏成为焦点
Qt::OtherFocusReason 7 其他reason,通常是特定于应用程序的。

(2)效果展示
在这里插入图片描述

(3)调用程序
QtGuiAppTest.ui
在这里插入图片描述

QtGuiAppTest.h

#pragma once
#include <QtWidgets/QWidget>
#include "ui_QtGuiAppTest.h"
#include<qlineedit.h>
class MyLineEdit : public QLineEdit
{
   
    Q_OBJECT
public:
    MyLineEdit(QWidget* parent = nullptr);
protected:
    void focusInEvent(QFocusEvent* event) override;
    void focusOutEvent(QFocusEvent* event) override;
};
class QtGuiAppTest : public QWidget
{
   
    Q_OBJECT
public:
    QtGuiAppTest(QWidget *parent = Q_NULLPTR);
    ~QtGuiAppTest();
public slots:
    void SlotTestFocus(int id);
private:
    Ui::QtGuiAppTestClass ui;
    MyLineEdit* m_pLe;
};

QtGuiAppTest.cpp

#include "QtGuiAppTest.h"
#include<qlineedit.h>
#include<qevent.h>
QtGuiAppTest::QtGuiAppTest

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高级Web Lab2

高级Web Lab2 12 1 按照“Lab 2 基础学习文档”文档完成实验步骤 实验截图&#xff1a; 2 添加了Web3D场景选择按钮&#xff0c;可以选择目标课程或者学习房间。

【计算机毕业设计】谷物识别系统Python+人工智能深度学习+TensorFlow+卷积算法网络模型+图像识别

谷物识别系统&#xff0c;本系统使用Python作为主要编程语言&#xff0c;通过TensorFlow搭建ResNet50卷积神经算法网络模型&#xff0c;通过对11种谷物图片数据集&#xff08;‘大米’, ‘小米’, ‘燕麦’, ‘玉米渣’, ‘红豆’, ‘绿豆’, ‘花生仁’, ‘荞麦’, ‘黄豆’, …

USART串口数据包

USART串口数据包 先来看两张图&#xff0c;本次程序是串口收发HEX数据包&#xff0c;第二种是串口收发文本数据包&#xff0c;之后两个图&#xff0c;展示的就是接收数据包的思路。 在PB1这里接了一个按键&#xff0c;用于控制。在串口助手&#xff0c;在发送模式和接收模式都…

Satellite Stereo Pipeline学习

1.在Anaconda某个环境中安装s2p pip install s2p 2.在Ubuntu系统中安装s2p源代码 git clone https://github.com/centreborelli/s2p.git --recursive cd s2p pip install -e ".[test]" 3.在s2p中进行make all处理 中间会有很多情况&#xff0c;基本上哪个包出问题…

基于昇腾910B训练万亿参数的语言模型简介

基于昇腾910B训练万亿参数的语言模型 Abstract 在本工作中&#xff0c;作者开发了一个系统&#xff0c;该系统在Ascend 910 AI处理器集群和MindSpore框架上训练了一个万亿参数的语言模型&#xff0c;并提出了一个含有1.085T参数的语言模型&#xff0c;名为PanGu-。 从PanGu-[…

Java18+​App端采用uniapp+开发工具 idea hbuilder智能上门家政系统源码,一站式家政服务平台开发 家政服务(师傅端)介绍

Java18​App端采用uniapp开发工具 idea hbuilder智能上门家政系统源码&#xff0c;一站式家政服务平台开发 家政服务&#xff08;师傅端&#xff09;介绍 家政服务师傅端是一个专为家政服务人员设计的平台&#xff0c;该平台旨在提供便捷、高效的工作机会&#xff0c;同时确保…

社交媒体数据恢复:QQ空间

本教程将指导您如何恢复QQ空间中的说说、日志和照片等内容。请注意&#xff0c;本教程不涉及推荐任何数据恢复软件。 一、恢复QQ空间说说 登录您的QQ账号&#xff0c;并进入QQ空间。点击“日志”选项&#xff0c;进入空间日志页面。在空间日志页面&#xff0c;您会看到一个“…

报表工具DataEase技术方案(一)

一、使用场景&#xff1a; 企业内部系统想要快速接入报表功能&#xff0c;但是局限于人力资源不足&#xff0c;不想沿用传统的前端后端开发模式&#xff0c;可以尝试使用开源报表工具 DataEase。 二、架构设计&#xff1a; 使用最简便的报表集成方式&#xff0c;通过DataEase…

区块链合约开发流程

区块链合约开发&#xff0c;尤其是以太坊智能合约开发&#xff0c;是一个多步骤的过程&#xff0c;从需求分析到部署和维护&#xff0c;每一步都需要仔细规划和执行。以下是详细的开发流程。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合…

CANDela studio新建和编辑服务

服务定义和编辑只能够在CDDT里面进行&#xff0c;思路分为三步&#xff1a; 1、Protocol Services里面添加服务&#xff0c;定义服务的格式、请求和正负响应。 2、根据服务的功能归类到Diagnostic Class Tenplates 3、Variant里面的Supported Diagnostic Classes勾选 然后我…

汽车IVI中控开发入门及进阶(二十四):杰发科技AC8015

前言: 在此之前的大部分时间,四维图新更多的是以图商的身份在业内出现,但现在四维图新图商之外的技术积累提现在了杰发科技身上,或者是从图商到汽车智能化一体解决方案供应商的角色转变。汽车智能化,可以简单的归为座舱智能化和智能驾驶两个板块。 随着汽车变得越来越智能…

AMS 仿真 ERROR

ERROR (OSSHNL-514): Netlist generation failed because of the errors reported above. The netlist might not have been generated at all, or the generated netlist could be corrupt. Fix the reported errors and regenerate the netlist. 原因&#xff1a;用的incisi…

Facebook开户|Facebook广告投放指南

家人们中午好~今天的文章由我们帅气逼人的大帅哥Zoey为大家分享&#xff08;狗头&#xff09;~有想要通过Facebook广告掘金的家人们&#xff01;今天就跟大家分享一下Facebook广告投放的底层逻辑和实用技巧&#xff0c;帮助大家少走弯路&#xff0c;快速入门~ 基础知识&#x…

mysql的增删查改(进阶)

目录 一. 更复杂的新增 二. 查询 2.1 聚合查询 COUNT SUM AVG MAX MIN 2.1.2 分组查询 group by 子句 2.1.3 HAVING 2.2 联合查询/多表查询 2.2.1 内连接 2.2.2 外连接 2.2.3 全外连接 2.2.4 自连接 2.2.5 子查询 2.2.6 合并查询 一. 更复杂的新增 将从表名查询到…

java连接MySQL数据库

环境准备 JDK安装 Navicat MySQL安装 下载jar包 MySQL :: Download MySQL Connector/J (Archived Versions) 创建数据库 1. 打开Navicat 2. 新建数据库 3. 定义数据库名 4. 新建查询 运行如下代码创建表log CREATE TABLE log (user VARCHAR(255) NOT NULL UNIQUE,pwd …

[有监督学习]3.详细图解逻辑回归

逻辑回归 逻辑回归是一种用于有监督学习的分类任务的简单算法。虽然算法的名字中包含“回归”二字&#xff0c;但其实它是用于分类问题的算法。逻辑回归通过计算数据属于各类别的概率来进行分类。 概述逻辑回归是一种学习某个事件发生概率的算法。利用这个概率&#xff0c;可以…

simulink基础学习笔记

写在前面 这个笔记是看B站UP 快乐的宇航boy 所出的simulink基础教程系列视频过程中记下来的&#xff0c;写的很粗糙不完整&#xff0c;也不会补。视频教程很细跟着做就行。 lesson1-7节的笔记up有&#xff0c;可以加up的群&#xff0c;里面大佬挺活跃的。 lesson8 for循环 For …

AI科技,赋能企业财务管理

AI技术已深入千行百业&#xff0c;其实际任务解决能力愈发凸显和强劲。正如乔布斯所强调“技术不是为工程师而生&#xff0c;而是为应用而生”。 胜意科技深度集成业内领先技术&#xff0c;将AI融入到实际的财务工作流中&#xff0c;与OCR、RPA等智能技术组合式输出&#xff0c…

Android Coil的简单介绍及使用

前言&#xff1a; 本文是借鉴网上大佬的Coil相关技术文章及结合自己项目中的实际使用情况&#xff0c;对Coil作一个简单介绍。 简介&#xff1a; Coil是一个Android的图片加载框架库&#xff0c;是通过Kotlin协程的方式加载图片的&#xff0c;相对于Glide、Picasso、Fresco等…

CRMEB多店版v3.0前端技术革新与实践

摘要 随着移动互联网技术的飞速发展&#xff0c;用户对移动应用的体验要求日益提高。CRMEB多店版v3.0作为一款针对多门店管理的电商系统&#xff0c;在前端技术层面进行了全面的革新与优化。本文将从移动端UI设计、页面功能更新、DIY设计功能升级、移动端平台与门店管理、营销…