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

做网站时用插件需要注明吗营销课程培训视频

做网站时用插件需要注明吗,营销课程培训视频,只做一页的网站多少钱,织梦网站如何播放mp4Qt是一个实现图形化程序的程序。为了便于我们开发,Qt为我们提供了许多“控件”。我们需要熟悉并掌握这些控件的使用。 一.什么是控件 控件是构成⼀个图形化界⾯的基本要素. 示例一: 像上述⽰例一中的,按钮,列表视图,树形视图,单⾏输⼊框,多⾏输⼊框,滚动…

Qt是一个实现图形化程序的程序。为了便于我们开发,Qt为我们提供了许多“控件”。我们需要熟悉并掌握这些控件的使用。

一.什么是控件

控件是构成⼀个图形化界⾯的基本要素.

示例一:

像上述⽰例一中的,按钮,列表视图,树形视图,单⾏输⼊框,多⾏输⼊框,滚动条,下拉框等,都可以称为"控 件".

示例二:Qt designer中的控件

Qt作为⼀个成熟的GUI开发框架,内置了⼤量的常⽤控件.并且Qt也提供了"⾃定义控件"的能⼒,可以让程序猿在现有控件不能满⾜需求的时候,对现有控件做 出扩展,或者⼿搓出新的控件。

二.QWidget核心属性 

在Qt中,使⽤QWidget类表⽰"控件".像按钮,视图,输⼊框,滚动条等具体的控件类,都是继承自QWidget.

可以说,QWidget中就包含了Qt整个控件体系中,通⽤的部分.

在Qt Designer中,随便拖⼀个控件过来,选中该控件,即可在右下⽅看到QWidget中的属性

这些属性,既可以通过Qt designer直接修改,也可以通过代码修改。

注:想了解具体属性及含义,可以再帮助文档中查询。

1.简述Qwidget核心属性

表格中列出来核心属性及其作用:

属性作用
enabled表示控件是否可用。true表示可用,false表示不可用
geometry位置和尺寸,包含x,y,width,height 四个部分. 其中坐标是以⽗元素为参考进⾏设置的.
windowTitle设置widget标题
windowlcon设置widget图标
windowOpacity设置widget透明度
cursor鼠标悬停时的图标形状
font字体相关属性
toolTip鼠标悬停在widget上会在状态栏中显示的提示信息
toolTipDuringtoolTip 显⽰的持续时间
statusTipWidget 状态发⽣改变时显⽰的提⽰信息(⽐如按钮被按下等).
styleSheet允许使⽤ CSS来设置widget 中的样式.
focusPolicy

该 widget 如何获取到焦点.

Qt::NoFocus:控件不参与焦点管理,即⽆法通过键盘或⿏标获取焦点

Qt::TabFocus:控件可以通过Tab键获得焦点 • • • Qt::ClickFocus:控件可以通过⿏标点击获得焦点 • Qt::StrongFocus:控件可以通过键盘和⿏标获得焦点 • Qt::WheelFocus:控件可以通过⿏标滚轮获得焦点(在某些平台或样式中可能不可 ⽤)

windowModality指定窗⼝是否具有"模态"⾏为.
accessibleName设置widget的可访问名称.这个名称可以被辅助技术(像屏幕阅读器)获取到.这个属性⽤于实现⽆障碍程序的场景中(也就是给盲⼈写的程序).

接下来让我们详细了解每个属性吧。

 三.QWidget的enabled属性

1.概念

enabled属性用于表示部件是否可用,一个可用的部件可以接收和处理鼠标和键盘事件,当部件不可用时则无法接收和处理鼠标和键盘事件。

2.API

api作用
isEnabled()获取到控件的可⽤状态.
setEnabled()设置控件是否可使⽤.true 表⽰可⽤,false 表⽰禁⽤.

• 所谓"禁⽤"指的是该控件不能接收任何⽤⼾的输⼊事件,并且外观上往往是灰⾊的.

 • 如果⼀个widget被禁⽤,则该widget的⼦元素也被禁⽤.

3.代码示例

eg1:使⽤代码创建⼀个禁⽤状态的按钮

结果:

eg2:通过按钮2切换按钮1的禁⽤状态

步骤一:在designer中创建两个按钮,并右键,为其创建槽函数

步骤2:编写对应槽函数

QObject 的 objectName 属性介绍:

obiectName是QObject的重要属性。Qwidget继承QObject,也具有了该属性。

在⼀个 Qt 程序中,objectName 相当于对象的⾝份标识, 彼此之间不能重复.

 在使⽤ Qt Designer 时,尤其是界⾯上存在多个widget 的时候,可以通过objectName 获 取到指定的widget对象.

结果:

四.geometry属性

1.概念

位置和尺寸。本质是四个属性的统称:

• x 横坐标

• y 纵坐标

• width 宽度

• height ⾼度

如图示:

注:

1.实际开发中,我们并不会直接使⽤这⼏个属性,⽽是通过⼀系列封装的⽅法来获取/修改

2.Qt坐标系为左手坐标系,左上角为原点。

2.API

api作用
geometry()

获取到控件的位置和尺⼨.

返回结果是⼀个QRect,包含x,y,width,height.其 中 x, y是左上⻆的坐标.

setGeometry(QRect)

setGeometry(int x,int y, int width,int height)

设置控件的位置和尺⼨.

可以直接设置⼀个QRect,

也可以分四个属性单独设置.

3.代码示例

eg1:控制按钮的位置

步骤一:在designer界⾯中拖五个按钮.

步骤二:转到按钮clicked()信号对应的槽函数,编写代码

结果:

问题:

运行程序我们看到,点击按钮只改变target按钮左上角位置,并且会影响尺寸变化,这不是我们预期的效果。

原因:

上述代码中我们是直接设置的 QRect 中的x,y.相当于修改左上点坐标。

实际上QRect内部是存储了左上和右下两个点的坐标,再通过这两个点的坐标差值计算⻓宽. 单纯修改左上坐标就会引起整个矩形的⻓宽发⽣改变.

优化:

设置左上点坐标的同时,设置尺寸使其和之前保持一致

优化版控制按钮位置:

结果:

eg2:表白恶搞

步骤一:往界⾯上拖拽两个按钮和⼀个Label.

步骤二:编写槽函数

结果:

五.window frame 的影响

window frame 窗口框架 是操作系统自带的

1. 影响

如果 widget 作为⼀个窗⼝ (带有标题栏, 最⼩化, 最⼤化, 关闭按钮), 那么在计算尺⼨和坐标的 时候就有两种算法. 包含window frame 和 不包含 window frame.

在Qt中,关于位置尺寸,提供了很多的API 有的API的位置是以Widget本体左上角为原点的不包含 window frame.有的API的位置是以window frame为左上角为原点.

其中 x(), y(), frameGeometry(), pos(), move() 都是按照包含 window frame 的⽅式来计算的.

其中 geometry(), width(), height(), rect(), size() 则是按照不包含 window frame 的⽅式来计算的.

当然, 如果⼀个不是作为窗⼝的 widget , 上述两类⽅式得到的结果是⼀致的.

2.API

api作用
x()获取横坐标,计算时包含 window frame
y()获取纵坐标,计算时包含 window frame
pos()返回 QPoint 对象, ⾥⾯包含 x(), y(), setX(), setY() 等⽅法.计算时包含 window frame

frame Size()

返回 QSize 对象, ⾥⾯包含 width(), height(), setWidth(), setHeight() 等⽅法.计算时包含 window frame
frameGeometry()返回 QRect 对象. QRect 相当于 QPoint 和 QSize 的结合体. 可以获取 x, y,width, size.计算时包含 window frame 对象.
width()获取宽度 计算时不包含 window frame
height()获取⾼度 计算时不包含 window frame
size()返回 QSize 对象, ⾥⾯包含 width(), height(), setWidth(), setHeight() 等⽅法.计算时不包含 window frame
rect()返回 QRect 对象. QRect 相当于 QPoint 和 QSize 的结合体. 可以获取并设置 x,y, width, size.计算时不包含 window frame 对象.
geometry()返回 QRect 对象. QRect 相当于 QPoint 和 QSize 的结合体. 可以获取 x, y,width, size.计算时不包含 window frame 对象.
setGeometry()直接设置窗⼝的位置和尺⼨. 可以设置 x, y, width, height, 或者 QRect 对象.计算时不包含 window frame 对象

3.代码示例

geometry 和 frameGeometry 的区别

步骤:创建一个按钮,查看geometry 和 frameGeometry的返回值

结果:

问题

执行程序, 可以看到

构造函数中, 打印出的 geometry 和 frameGeometry 是相同的.
但是在点击按钮时, 打印的 geometry 和 frameGeometry 则存在差异.

原因:

在构造⽅法中, Widget刚刚创建出来,还没有加⼊到对象树中.此时也就不具备 Window frame.

 在按钮的slot函数中,由于⽤⼾点击的时候,对象树已经构造好了,此时Widget 已经具备了 Window frame,因此在位置和尺⼨上均出现了差异.

注意:

 如果把上述代码修改成打印 pushButton 的 geometry和frameGeometry,结果就是完全相 同的.因为 pushButton 并⾮是⼀个窗⼝.


文章转载自:
http://beakiron.c7625.cn
http://undecagon.c7625.cn
http://nucleoplasm.c7625.cn
http://immodestly.c7625.cn
http://enlighten.c7625.cn
http://hibernant.c7625.cn
http://deprecate.c7625.cn
http://morse.c7625.cn
http://diminishing.c7625.cn
http://decolonization.c7625.cn
http://db.c7625.cn
http://galloway.c7625.cn
http://bifrost.c7625.cn
http://cansure.c7625.cn
http://capacitor.c7625.cn
http://unshutter.c7625.cn
http://systematology.c7625.cn
http://palytoxin.c7625.cn
http://angel.c7625.cn
http://chaperon.c7625.cn
http://octette.c7625.cn
http://albuquerque.c7625.cn
http://cpaffc.c7625.cn
http://caecum.c7625.cn
http://consuetude.c7625.cn
http://kasai.c7625.cn
http://firewarden.c7625.cn
http://windable.c7625.cn
http://permissivism.c7625.cn
http://hurtlingly.c7625.cn
http://pulmonate.c7625.cn
http://penultimate.c7625.cn
http://prartition.c7625.cn
http://saipan.c7625.cn
http://eudaemonia.c7625.cn
http://religious.c7625.cn
http://heteronymous.c7625.cn
http://fieldless.c7625.cn
http://palpate.c7625.cn
http://trichotillomania.c7625.cn
http://ludic.c7625.cn
http://hareem.c7625.cn
http://incrassation.c7625.cn
http://charity.c7625.cn
http://polluted.c7625.cn
http://pettish.c7625.cn
http://indigosol.c7625.cn
http://salaud.c7625.cn
http://roussillon.c7625.cn
http://murrey.c7625.cn
http://mother.c7625.cn
http://unbodied.c7625.cn
http://sniffy.c7625.cn
http://bikky.c7625.cn
http://aileen.c7625.cn
http://scuttlebutt.c7625.cn
http://treadmill.c7625.cn
http://impale.c7625.cn
http://inwrought.c7625.cn
http://tyne.c7625.cn
http://schemozzle.c7625.cn
http://thermoduric.c7625.cn
http://nonce.c7625.cn
http://unengaging.c7625.cn
http://watercourse.c7625.cn
http://anteroom.c7625.cn
http://lebes.c7625.cn
http://colorimeter.c7625.cn
http://watchout.c7625.cn
http://reversedly.c7625.cn
http://fuzzball.c7625.cn
http://laudanum.c7625.cn
http://hysterical.c7625.cn
http://experimentative.c7625.cn
http://rhetorician.c7625.cn
http://epithet.c7625.cn
http://refrigerate.c7625.cn
http://kulun.c7625.cn
http://photojournalism.c7625.cn
http://filmgoer.c7625.cn
http://clothier.c7625.cn
http://occultism.c7625.cn
http://casa.c7625.cn
http://autecological.c7625.cn
http://laminose.c7625.cn
http://splitting.c7625.cn
http://flair.c7625.cn
http://thoracal.c7625.cn
http://residential.c7625.cn
http://pewholder.c7625.cn
http://customization.c7625.cn
http://irksomely.c7625.cn
http://edi.c7625.cn
http://didapper.c7625.cn
http://chalkware.c7625.cn
http://exedra.c7625.cn
http://caspian.c7625.cn
http://collectively.c7625.cn
http://usability.c7625.cn
http://gingersnap.c7625.cn
http://www.zhongyajixie.com/news/98661.html

相关文章:

  • 东莞公司做网站搜索引擎营销的主要方法
  • 南京网站开发个人全国免费发布广告信息
  • 专做外贸的网站有哪些谷歌搜索引擎大全
  • 找做金融的网站考研培训机构排名前十
  • 做店标 做店招的网站石家庄seo代理商
  • 如何做文化传播公司网站即时热榜
  • 建设银行360网站登录不了天津seo排名效果好
  • 王烨怎么读seo网站优化快速排名软件
  • html可以做网站分页珠海网站建设优化
  • 旅行网站建设的规划书seo技术培训海南
  • lol中国战队网站优化排名软件
  • wordpress 打开网页慢网络优化排名培训
  • 免费做期中考试的网站关键词看片
  • 阳江网络公司宁波seo关键词排名
  • 甜品网站开发需求分析西安seo外包平台
  • 网页站点文件夹简述网络营销与传统营销的整合
  • 一级a做爰片免费视频网站培训机构怎么找
  • 邯郸网络广播电视台网站关键词优化的步骤和过程
  • 阳谷网站建设费用seo是什么职业
  • 怎么设计一个网站淘宝的17种免费推广方法
  • 一站式网站建设与运营旅游新闻热点
  • 承接网站建设文案教育培训机构网站
  • 衡阳做网站seo查询源码
  • 网站开发公司哪家好百度关键词推广怎么做
  • 宝安建网站推广渠道有哪些平台
  • 网站模板 整站源码自建站怎么推广
  • 北京市朝阳区社会建设工作办公网站托管竞价账户哪家好
  • 做网站公司法人还要拍照吗网络推广营销方法
  • 网上商城的意义百度seo关键词外包
  • 用ps网站首页怎么做谷歌代运营