zoukankan      html  css  js  c++  java
  • Qt532界面.ZC测试

    ZC:Delphi中只要随便拖几个控件,设置一下属性就OK了。但是,Qt中 貌似没有 方便的方式来做这个...

    ZC:目前的解决方案是:Qt中 拖几个控件,然后点 工具条里面的 "栅格布局(G)"

        

    1、想实现 类似 Delphi 中的效果:跟着 窗口大小变,上面部分的控件 不动。如下图,上面2个 button不动,下面的 Memo随着窗口的大小变化而变化:

      

        

    2、20190404  暂时的方案:

      主要思想:主界面 栅格布局,分成上下两部分:

       上半部分 将 最小高度和最大高度 设置成一样的(这样上半部分的高度就固定了),

       下半部分的高度将自动填充剩余部分(如果不行的话,还可以尝试 设置 属性rowspan/colspan)

      结构:

       主界面 栅格布局

        上半部分--> QWidget --> 里面可以放置 QPushButton等控件

        下半部分--> QGridLayout --> 里面只有一个 自定义的控件"WndGL_Z"(继承自类"QOpenGLWidget")

     (1)、效果图

      

      PS:截图时,鼠标正拖动着pushButton,∴ 没有截到它

     (2)、ui 源码:(使用的话,注意:不知直接带注释 复制粘贴到ui文件是否OK)

      ZC:有时修改了 ui文件的某些内容后,需要重启Qt才能生效(如下面的"<extends>QOpenGLWidget</extends>")! ! ...

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <ui version="4.0">
     3  <class>MainWindow</class>
     4  <widget class="QMainWindow" name="MainWindow">  <!-- ZC: 主界面窗口 -->
     5   <property name="geometry">
     6    <rect>
     7     <x>0</x>
     8     <y>0</y>
     9     <width>599</width>
    10     <height>359</height>
    11    </rect>
    12   </property>
    13   <property name="windowTitle">
    14    <string>MainWindow</string>
    15   </property>
    16 
    17   <widget class="QWidget" name="centralWidget">  <!-- ZC: 主界面上的centralWidget,它的布局为QGridLayout -->
    18    <layout class="QGridLayout" name="gridLayout">
    19 
    20     <item row="1" column="0">    <!-- ZC: 第1行第0列 -->
    21      <layout class="QGridLayout" name="gridLayout_2">    <!-- ZC: 这里将唯一的元件openGLWidget放在栅格布局中它会填充整个栅格布局 -->
    22       <item row="0" column="0">
    23        <widget class="WndGL_Z" name="openGLWidget" native="true"/>
    24       </item>
    25      </layout>
    26     </item>
    27 
    28     <item row="0" column="0">    <!-- ZC: 第0行第0列 -->
    29      <widget class="QWidget" name="widget" native="true">
    30       <property name="minimumSize">
    31        <size>
    32         <width>0</width>
    33         <height>100</height>  <!-- ZC: 这里设置 最小高度值 -->
    34        </size>
    35       </property>
    36       <property name="maximumSize">
    37        <size>
    38         <width>16777215</width>
    39         <height>100</height>  <!-- ZC: 这里设置 最大高度值 -->
    40        </size>
    41       </property>
    42 
    43       <widget class="QPushButton" name="pushButton">
    44        <property name="geometry">
    45         <rect>
    46          <x>10</x>
    47          <y>10</y>
    48          <width>75</width>
    49          <height>23</height>
    50         </rect>
    51        </property>
    52        <property name="text">
    53         <string>PushButton</string>
    54        </property>
    55       </widget>
    56 
    57      </widget>
    58     </item>            <!-- ZC: 第0行第0列  结束 -->
    59 
    60    </layout>    <!-- ZC: "gridLayout"结束 -->
    61   </widget>    <!-- ZC: "centralWidget"结束 -->
    62 
    63  </widget>    <!-- ZC: "MainWindow"结束 -->
    64 
    65  <layoutdefault spacing="6" margin="11"/>
    66  <customwidgets>
    67   <customwidget>
    68    <class>WndGL_Z</class>
    69    <extends>QOpenGLWidget</extends>    <!-- ZC: 注意这里,不能是QWidget(这个就是普通的控件了) -->
    70    <header>wndgl_z.h</header>
    71   </customwidget>
    72  </customwidgets>
    73  <resources/>
    74  <connections/>
    75 </ui>

    3、

    4、

    5、

  • 相关阅读:
    Sublime Text 3 格式化HTML CSS JS 代码
    CSS 温故而知新
    JQuery Mobile 学习笔记
    Eclipse ADT 代码注释模版
    Eclipse ADT 与VS 常用的快捷键 对比学习
    元组、文件、以及其他
    类型与运算
    python
    python 内置函数 lamda表达式。 open 文件方法
    python 基础 基本数据类型
  • 原文地址:https://www.cnblogs.com/cppskill/p/9022892.html
Copyright © 2011-2022 走看看