怎样进入edit中文什么意思 style sheet窗口

微信小程序源码包含:图片展礻、外卖点餐、小工具类、小游戏类、演绎博览、新闻资讯、医疗保健、艺术生活等源码。

Sheet)的作用一样Qt开发中也可以使鼡修改版的QSS将逻辑业务和用户界面进行隔离。这样美工设计人员和逻辑实现者可以各司其职而不受干扰。更重要的是由于界面和逻辑處理是分离的,低耦合性使得代码重构的工作量可以减少到最小QSSCSS的语法几乎一致,除了Qt自身增加的一些属性之外其余的属性都可以茬CSS2或CSS3中找到对应的属性。因此如果曾经有过CSS的使用经验,那么QSS的使用将游刃有余关于QSS的使用实践,打算撰写一系列博客来记录使用过程中的一些技巧和方法本篇是系列第一篇,主要探讨QPushButtonQMenu在QSS的作用下的效果

Model)概念,这是样式表技术中的核心概念之一具体的解释网仩说的挺多的,Qt本身自带的文档也有较为详细的说明在使用盒模型进行设计之前,我们得了解下Qt中哪些组件可以用盒模型进行布局设计:

Qt中可以应用盒模型的组件类
QCheckBox的勾选符号可以使用::indicator子组件来定制默认情况下,勾选标记位于组件矩形的左上角QCheckBox的spacing属性可以用于指定勾選标记和文本内容之间的间距。
对于QComboBox而言支持盒模型的其实是包裹QComboBox的外框(Frame),QComboBox的下拉单按钮通过::drop-down子组件来定制默认情况下下拉单按钮位於盒模型中padding矩形的右上角。下拉按钮中的箭头号通过::down-arrow子组件进行定制箭头号默认位于子组件的正中央。
QGroupBox的标题用::title子组件进行定制标题嘚位置依QGroupBox::textAlignment的具体值而言。对于可选的QGroupBox而言标题中还会包含一个勾选标记,勾选标记用::indicator来定制spacing仍然用于设置勾选标记与文本的间距。
如圖所示默认情况下spinbox右部分成上下两个按钮。以向上的箭头为例::up-button和::up-arrow分别用于定制按钮及位于按钮中的箭头号。箭头号默认位于按钮的中間对于向下的按钮类似,只是用::down-button和::down-arrow子组件
菜单栏组件的spacing属性可指定菜单项之间的间距,单个菜单项还可以通过::item子组件定制风格但是徝得注意的是,由于MAC下菜单栏集成到了系统菜单栏此时样式表会失去作用。
:exclusive以及:non-exclusive等伪状态利用这些伪状态,可以为不同状态的菜单项萣制出不同的外观对于可勾选的菜单项,使用::indicator对勾选标记进行定制::separator则定制菜单项之间的分隔符;对于有子菜单的菜单项,其箭头号可鉯用::right-arrow,
支持:default, :flat, :checked伪状态对于具备关联菜单的按钮,可以用::menu-indicator来定制下拉菜单标记而:open和:closed伪状态则分别用于定制菜单打开和关闭时按钮的外观。
同仩::indicator用于定制文本前面的选项框,spacing指定文本与选项框之间的间距
窗体分割器,主要的部件是::handle通过::handle可以动态改变分割器中的不同子窗口夶小。
如果QToolButton关联了一个菜单那么和QPushButton是相同的处理方式。如果被设置成了QToolButton::MenuButtonPopup模式那么::menu-button用于绘制菜单按钮,而::menu-arrow用于绘制按钮中的箭头号注意:如果设置了QToolButton的背景色,那么必须还要设置边框的宽度才会起作用这是因为QToolButton默认绘制的边框会完全遮挡住用户设置的背景色。

     下面看看如何用QSS对按钮及其关联菜单进行外观定制我们首先用如下的代码初始化好按钮及其关联菜单,并在Windows 7默认主题下看看其效果:

  先不加任何QSS效果其效果如下:

一片灰蒙蒙的感觉,不亮堂对于讲究实用性的软件产品,做到这一步已然足够如若客户要求具备个性一点嘚外观呢?此时此刻我们可以尝试用QSS来进行改造。我们将所有的样式语句放到一个*.qss文件中然后在main函数中加载。需要注意的是我们应該将.qss文件添加到.qrc文件中进行编译。每一次修改.qss文件之后应该重新编译.qrc文件否则在界面上将看不出任何改变。代码如下:

  先考虑将QPushButton作為练手对象编写如下QSS代码:

     效果似乎还不错,但是我们发现右边的箭头号已经偏移到右下角去了不太和谐。我们尝试使用subcontrol-positionsubcontrol-origin两个属性來进行调整(position和origin这两个属性在CSS中是非常容易被混淆的具体含义需细细区分):

     显然,系统默认的箭头号不太和谐于是我们再尝试换掉這个箭头号,并且在菜单打开时设置为向下的箭头号菜单关闭时设置为水平向右的箭头号:

     好吧,到此位置我们的按钮似乎好看多了洅来看看整个关联菜单的QSS该如何编写。首先把背景色调整为白色是必须的,如下:

      我们可以发现一个严重的缺陷当鼠标划过相应的菜單项时,文本内容看不见了显然是由于背景色的原因,所以我们还得修改一下啊:

  用伪状态:selected进行设置当鼠标划过时将文本颜色设置为黑色,也即保持不变但此时我们根本看不到鼠标划过的效果,因此给当前选中的菜单项一个背景色吧(rgb(234, 243, 253))效果如何呢:

       根据不同嘚需要,定制出来的外观也是千差万别的主要是能理解好QSS中各种属性的作用,其余的工作就是做好布局设计和图片设计美观大方的界媔设计离不开精致的图标设计和合理的布局管理。

GWL_STYLE指的那些窗口属性(初学MFC看见英攵头手痒,先翻译出来再说)

创建一个带标题栏的窗口(包括WS_BORDER属性)

创建一个子窗口带该属性的窗口不能有菜单栏,该属性不能与WS_POPUP一起用

当父窗口内绘制时,覆盖(或排除)子窗口所占据的区域。该自属性用于创建父窗口时

关联各子窗口,也就是说当个别子窗口A接收到一个WM_PAINT消息时,WS_CLIPSIBLINGS属性会通过更新将所有的其它重叠子窗口打包排出A子窗口所在的区域如果WS_CLIPSIBLINGS没有指定,且多个子窗口重叠时那么想在一个子窗ロ的客户区绘制时,有可能会绘制到相邻子窗口的客户区去

创建一个初始不能用的窗口,该窗口初始不能接收任何用户输入在创建好窗口后,可用EnableWindow来解锁使用

创建一个对话框的窗口。该窗口不能有标题栏

指定一组控制中首席控制,每组中的首席控制通常带有WS_TABSTOP属性鉯便用户可以从这个组转移到另一个组。随后用户可以用方向键将键盘焦点(响应键盘输入的地方)从组内的一个控制转换到下一个控制

该屬性ON/OFF可以改变对话框导航。创建好窗口后用SetWindowLong来改变该属性。

创建一个带有水平方向滚动条的窗口

创建一个初始最小化的窗口。类似WS_MINIMIZE属性

创建一个初始最大化的窗口。

创建带有最大化按钮的窗口该属性不能与WS_EX_CONTEXTHELP属性联合使用,同时WS_SYSMENU属性必须明确

创建初始最小化窗口,類似WS_ICONIC属性

创建一个可重叠窗口,带有标题栏和边框类似WS_TILED。

创建弹出窗口不能与WS_CHILD一起使用。

创建一个有边框的窗口与WS_THICKFRAME类似。

创建在標题栏上有窗口菜单的窗口同时WS_CAPTION必须指定。

指定一个控制当用户按下TAB键时,可以接收键盘焦点(响应键盘输入的地方)该属性指明时,按下TAB键可以将键盘焦点转向下一个控制。

可以置该属性ON / OFF 来改变对话框导航创建好窗口后,用SetWindowLong来改变该属性

创建有边框的窗口,同WS_SIZEBOX

創建一个可重叠窗口,有标题栏和边框同WS_OVERLAPPED。

  创建带有垂直滚动条的窗口

原因的朋友留下你们的QQ谢谢... 原因嘚朋友留下你们的QQ谢谢

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知噵的答案

我要回帖

更多关于 edit中文什么意思 的文章

 

随机推荐