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

建设单位网站需求报告2024新闻热点事件

建设单位网站需求报告,2024新闻热点事件,做正版电子书下载网站,线上h5是什么意思常用控件 一、控件1、介绍2、自定义控件3、使用4、注意事项 二、enabled1、介绍2、示例 三、geometry1、介绍2、坐标系3、示例(1)移动按钮位置(2)reject按钮移动 四、Windowsframe1、介绍2、影响3、与Window Frame相关的API4、示例…

常用控件

  • 一、控件
    • 1、介绍
    • 2、自定义控件
    • 3、使用
    • 4、注意事项
  • 二、enabled
    • 1、介绍
    • 2、示例
  • 三、geometry
    • 1、介绍
    • 2、坐标系
    • 3、示例
      • (1)移动按钮位置
      • (2)reject按钮移动
  • 四、Windowsframe
    • 1、介绍
    • 2、影响
    • 3、与Window Frame相关的API
    • 4、示例
      • (1)geometry和frameGeometry,坐标系的差别。
      • (2)设置窗口标题
      • (2)设置窗口图标
  • 五、qrc文件
    • 1、介绍
    • 2、使用qrc文件
    • 3、优点
    • 4、使用示例
  • 六、windowOpacity
    • 1、介绍
    • 2、注意事项
    • 3、示例
  • 七、cursor
    • 1、介绍
    • 2、示例

一、控件

1、介绍

  • Qt控件是Qt用户界面上最基本的组件类型,也是构成用户界面的基本结构。
  • QWidget类是Qt控件的基类,也是所有控件的父类。所有的Qt控件都是QWidget类的子类,因此都继承了QWidget类的特性。
特性
接收用户的输入事件,如鼠标和键盘输入
在用户界面上显示控件内容
存放其它控件

2、自定义控件

  • 在实际开发过程中,许多应用需要满足特定的用户界面需求,因此Qt提供了自定义控件的功能。
  • 自定义控件是指使用Qt的基础控件和功能,通过扩展和重写来满足特定需求的控件。
  • 自定义控件通常是从QWidget类继承而来的,开发者需要创建一个新的类,并在该类中重写必要的函数,如paintEvent、mousePressEvent等,以实现自定义的外观和行为。

3、使用

  • 使用Qt Designer:Qt Designer是Qt提供的一个图形界面设计工具,开发者可以在其中拖拽控件到窗体上,并设置控件的属性。
  • 纯代码添加控件:开发者可以通过纯代码的方式添加控件。这种方式需要手动创建控件对象,并设置其属性和事件处理函数。

4、注意事项

  • 在使用控件时,需要注意控件的父子关系。如果控件没有设置父控件,那么它就是一个独立的窗口。
  • 在设置控件的属性时,需要确保属性的值是有效的,否则可能会导致控件的行为异常。
  • 在处理控件的事件时,需要注意事件的触发条件和处理逻辑,以确保控件能够正确地响应用户的操作。

二、enabled

1、介绍

  • enabled属性通常用于控制控件(如按钮、菜单项、窗口部件等)是否可用或是否处于启用状态。当一个控件被禁用时,用户无法与之交互,通常会显示为灰色或暗淡。如果⼀个widget被禁用,则该widget的子元素也被禁用。
方法说明
setEnabled(bool)用于设置控件的启用状态。当参数为true时,控件变为启用状态,允许用户进行交互;当参数为false时,控件变为禁用状态,通常显示为灰色,且用户无法与之交互
isEnabled() const用于查询控件当前的启用状态。如果控件处于启用状态,则返回true;如果控件被禁用,则返回false

2、示例

  • 下方代码在widget.cpp文件中所写,实现的是两个按钮,第一个为测试禁用,第二个有切换第一个的禁用状态。
void Widget::on_pushButton_clicked()
{qDebug() << "on_pushButton_clicked";
}void Widget::on_pushButton_change_clicked()
{bool enable = ui->pushButton->isEnabled();if(enable){ui->pushButton->setEnabled(false);}else{ui->pushButton->setEnabled(true);}
}

在这里插入图片描述
在这里插入图片描述

三、geometry

1、介绍

  • geometry用于描述窗口控件的位置和大小。这个属性可以视为是四个属性的统称,即x(横坐标)、y(纵坐标)、width(宽度)和height(高度)。
  • 它返回一个QRect对象,该对象包含了窗口控件的左上角坐标以及宽度和高度信息。
方法说明
geometry()获取当前窗口控件的geometry属性。该函数返回一个QRect对象,通过该对象可以访问x、y、width和height等属性。即该对象包含了窗口控件的左上角坐标以及宽度和高度信息
setGeometry(int x, int y, int width, int height),setGeometry(QRect)设置当前窗口控件的geometry属性

2、坐标系

在这里插入图片描述
在这里插入图片描述

3、示例

(1)移动按钮位置

widget.cpp

void Widget::on_pushButton_up_clicked()
{QRect rect = ui->pushButton_target->geometry();         // 不能是rect方法,否则在下面的设置时,x和y的值都是0qDebug() << rect;// rect.setY(rect.y() - 2);// ui->pushButton_target->setGeometry(rect);ui->pushButton_target->setGeometry(rect.x(),rect.y() - 2, rect.width(), rect.height());}void Widget::on_pushButton_down_clicked()
{QRect rect = ui->pushButton_target->geometry();qDebug() << rect;ui->pushButton_target->setGeometry(rect.x(),rect.y() + 2, rect.width(), rect.height());
}void Widget::on_pushButton_left_clicked()
{QRect rect = ui->pushButton_target->geometry();qDebug() << rect;ui->pushButton_target->setGeometry(rect.x() - 2,rect.y(), rect.width(), rect.height());
}void Widget::on_pushButton_right_clicked()
{QRect rect = ui->pushButton_target->geometry();qDebug() << rect;ui->pushButton_target->setGeometry(rect.x() + 2,rect.y(), rect.width(), rect.height());
}

在这里插入图片描述

(2)reject按钮移动

void Widget::on_pushButton_accept_clicked()
{ui->label->setText("少年,加油,你此时的头发还很茂盛");
}void Widget::on_pushButton_reject_clicked()
{// int width = ui->label->geometry().width();// int height = ui->label->geometry().height();// int newWidth = rand() % width;// int newHeight = rand() % height;// ui->pushButton_reject->move(newWidth, newHeight);
}void Widget::on_pushButton_reject_pressed()
{int width = ui->label->geometry().width();int height = ui->label->geometry().height();int newWidth = rand() % width;int newHeight = rand() % height;ui->pushButton_reject->move(newWidth, newHeight);
}

在这里插入图片描述

四、Windowsframe

1、介绍

  • Window Frame(窗口框架)是指操作系统自带的窗口边框,它通常包围在窗口主体周围,并包含一些操作系统级别的控件,如最小化、最大化和关闭按钮,以及窗口标题栏等。这个窗口框架对Qt应用程序的界面布局和坐标系统有一定的影响。

2、影响

  • 坐标系统:在Qt中,控件的坐标系统通常是以其父控件为参考的。然而,当涉及到窗口框架时,情况就变得有些复杂。有些Qt API是以窗口主体(即不考虑窗口框架的部分)为参考点的,而有些则是以窗口框架的左上角为参考点。例如,geometry()和setGeometry()函数通常是以窗口主体为参考点,不考虑窗口框架;而frameGeometry()和setFrameGeometry()函数则是以窗口框架为参考点。
  • 界面布局:窗口框架的存在会影响窗口内部控件的布局。由于窗口框架占据了一定的空间,因此在进行界面设计时,需要考虑到这一点,以确保控件能够正确地显示在预期的位置。
  • 窗口大小调整:当用户调整窗口大小时,窗口框架的大小也会相应改变。Qt提供了相应的事件和函数来处理这种情况,允许开发人员根据窗口大小的变化来调整内部控件的布局或大小。

3、与Window Frame相关的API

API说明
frameGeometry()返回包含窗口框架的几何形状(位置和大小)
setFrameGeometry()设置包含窗口框架的几何形状
windowTitle()获取窗口的标题
setWindowTitle(const QString& title)设置窗口的标题
windowIcon()获取窗口的图标,返回QIcon对象
setWindowIcon(const QIcon& icon)设置窗口的图标

4、示例

(1)geometry和frameGeometry,坐标系的差别。

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);connect(ui->pushButton, &QPushButton::clicked, this, &Widget::handler);
}
void Widget::handler()
{QRect rect1 = this->geometry();QRect rect2 = this->frameGeometry();qDebug() << rect1;qDebug() << rect2;
}

在这里插入图片描述

  • 如果不使用slots(槽函数),而在构造方法中进行输出查看。因为Widget刚刚创建,还没有加入到对象树中,此时也就不具备Window frame。
  • 在按钮的slots中,由于用户点击的时候,对象树已经构造好了。此时Widget已经具备了Windowframe。此时,geometry和frameGeometry在位置和尺寸才出现差异。

(2)设置窗口标题

this->setWindowTitle("窗口");// QPushButton* button = new QPushButton(this);
// button->setText("按钮");
// button->move(300,300);
// button->setWindowTitle("修改");

在这里插入图片描述

  • 注释代码无作用,因为button控件的坐标系统是以其父控件为参考的。

(2)设置窗口图标

// QIcon icon("D:\\内容保存地\\图片保存地\\R-C.png");
// QIcon icon("D:/SoftwareContentStorageLocation/QtCode/3widget/img/R-C.png");
QIcon icon("D:\\SoftwareContentStorageLocation\\QtCode\\3widget\\img\\R-C.png");this->setWindowIcon(icon);

在这里插入图片描述

五、qrc文件

1、介绍

  • qrc文件是一种资源文件,用于存储应用程序的资源,如图像、图标、音频文件等。这些资源在编译时被嵌入到应用程序的可执行文件中,从而在运行时无需单独打包或查找这些文件。
  • qrc文件采用XML格式来定义资源的路径和名称。

2、使用qrc文件

  • 创建qrc文件:创建一个.qrc文件,并在其中定义资源。
  • 添加资源:将图像、图标、音频文件等资源添加到项目的某个目录中,然后在.qrc文件中引用这些文件。
  • 编译资源:在Qt项目中,需要将.qrc文件添加到项目的.pro文件中,这样,在编译项目时,qmake工具会自动处理.qrc文件,并将资源嵌入到最终的可执行文件中。但默认是有的,不需要手动操作。
  • 访问资源:在代码中,可以使用QString的:qrc/路径语法来访问资源。

3、优点

  • 简化分发:由于资源被嵌入到可执行文件中,因此无需单独打包这些文件,简化了应用程序的分发。
  • 提高访问速度:资源在应用程序启动时就被加载到内存中,因此访问速度通常比从磁盘加载要快。
  • 便于管理:所有的资源都集中在一个或多个.qrc文件中,便于管理和维护。

4、使用示例

在这里插入图片描述
在这里插入图片描述

  • 文件名可按需修改。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

QIcon icon(":/R-C.png");
this->setWindowIcon(icon);
  • 这里的": /“前缀表示资源文件的根路径,它是你在.qrc文件中通过prefix属性设置的。如果prefix属性被设置为其他值(如”/images"),则需要相应地调整路径(如":/images/R-C.png")。
    在这里插入图片描述

在这里插入图片描述

六、windowOpacity

1、介绍

  • windowOpacity 是 QWindow 类的一个属性,它用于设置窗口的不透明度(透明度)。即它允许开发者控制窗口的透明度。通过调整这个属性的值,可以使窗口部分或完全透明,从而创建各种视觉效果。
  • windowOpacity 的值范围是 0.0 到 1.0。其中,0.0 表示窗口完全透明。1.0 表示窗口完全不透明。
方法说明
windowOpacity()获取窗口当前的不透明度值。返回一个 float 类型的值,表示窗口的不透明度
setWindowOpacity(float opacity)设置窗口的不透明度。传入一个 float 类型的值作为参数,该值将作为窗口的新不透明度

2、注意事项

  • 当设置不透明度时,如果传入的值小于 0.0 或大于 1.0,setWindowOpacity 方法内部会进行判定,并且不会应用这些值。然而,为了编码的规范性和可读性,建议在调用此方法之前对传入的值进行验证。
  • 窗口的不透明度变化可能不是精确的,因为浮点数运算的精度限制。这通常不会影响视觉效果,但在进行精确计算时需要注意。

3、示例

  • 调整窗口透明度
void Widget::on_pushButton_add_clicked()
{float opacity = this->windowOpacity();if(opacity >= 1.0){return;}qDebug() << opacity;opacity += 0.1;this->setWindowOpacity(opacity);
}void Widget::on_pushButton_sub_clicked()
{float opacity = this->windowOpacity();if(opacity <= 0){return;}qDebug() << opacity;opacity -= 0.1;this->setWindowOpacity(opacity);
}

在这里插入图片描述

七、cursor

1、介绍

  • cursor 是一个与光标相关的属性或方法,它通常用于设置或获取窗口或控件的光标样式。它允许开发者为窗口或控件设置特定的光标样式,这些样式定义了当鼠标悬停在窗口或控件上时显示的光标形状。
  • Qt 提供了多种内置的光标样式,如普通箭头光标、等待光标、文本输入光标等,同时也允许开发者使用自定义的图片来设置光标。但使用自定义的图片来设置光标时,通常涉及到创建一个 QPixmap 对象,然后基于这个对象构造一个 QCursor 对象,并将其设置为窗口或控件的光标。
  • cursor 属性可以应用于任何继承自 QWidget 的类,包括窗口、按钮、标签等控件。
API说明参数
setCursor(const QCursor &cursor)设置窗口或控件的光标形状QCursor对象,表示要设置的光标形状
setCursor(const QPixmap &pixmap, int hotx, int hoty)使用自定义图片设置光标形状,并指定光标的热点位置QPixmap对象,表示自定义的光标图片。hotx和hoty,分别表示光标热点在图片中的x和y坐标
cursor()获取窗口或控件的当前光标对象。返回值QCursor对象,表示当前的光标形状

2、示例

  • 图形化使用
    在这里插入图片描述
  • 代码使用
QCursor cursor(Qt::WaitCursor);
ui->pushButton->setCursor(cursor);
  • Qt::CursorShape枚举,其中定义了Qt提供的内置光标形状。
    在这里插入图片描述
  • 使用自定义的图片设置光标。qrc的创建参见上面。
    在这里插入图片描述
QPixmap pim(":/1.png");
pim = pim.scaled(40, 40);           // 修改图片大小
QCursor cursor(pim, 10, 10);        // 热点位置
ui->pushButton->setCursor(cursor);

本文到这里就结束了,如有错误或者不清楚的地方欢迎评论或者私信
本文只是在学习过程中所做的总结,不会涉及过深的概念
创作不易,如果觉得博主写得不错,请点赞、收藏加关注支持一下💕💕💕

http://www.dtcms.com/wzjs/265723.html

相关文章:

  • 动态网站设计都有什么属性网络营销的营销方式是什么
  • 做营销网站设计网站整合营销推广
  • 全球网站域名快速seo关键词优化方案
  • 百度个人网站申请软件推广是什么工作
  • 做外贸怎样上国外网站专业网站优化推广
  • 怎样在国外网站上做宣传自己可以创建网站吗
  • 免费wordpress网站百度营销搜索推广
  • 怎么用自己的电脑搭建网站seo站长综合查询工具
  • 网站建设与管理课程代码现在外贸推广做哪个平台
  • 做外贸网站平台有哪些百度游戏排行榜风云榜
  • 京东官网购物商城廊坊seo排名收费
  • 深圳人大代表联络站网站建设seo查询系统
  • 帮做软件测试的网站宁波seo网络推广公司排名
  • 阿克苏市建设银行网站emlog友情链接代码
  • 北京公司网站制作要多少钱2024年重启核酸
  • 中山品牌网站建设推广市场营销分析案例
  • xampp做的网站能搜索吗b2b推广网站
  • 做的好的音乐网站的特点上海百度seo公司
  • 微商城客服seo工具包
  • 做js题目的网站优化百度seo
  • 公司网站推广怎么做中国搜索
  • 做网站的荣誉证书自有品牌如何推广
  • wordpress汉字验证码插件小时seo加盟
  • wordpress主题 html5模板seo分析与优化实训心得
  • 24淘宝网站建设宁波网站seo公司
  • 莱山网站建设百度搜索推广操作简要流程
  • 最个人网站快速排名优化推广价格
  • 网站代码跑偏了怎么做黄石seo
  • 微信小店可以做分类网站国外推广都是怎么推广
  • node.js做企业网站沈阳企业网站seo公司