-
2017-06-05 10:38:03
1. 简介
Panel控件在页面为其他控件提供了一个容器,可以将其他群空间放入一个Panel控件中,作为一个单元进行控制,如隐藏或显示这些控件:同时,也可以使用Panel控件为一组控件创建独特的外观。2.属性
IDVisibleHorizontalAlign 用于设置控件内容的水平对齐方式center:容器的内容居中Justify::容器的内容均匀展开。与左右边距对齐Left:容器的内容左对齐NotSet:未设置水平对齐方式Right:容器的内容有对齐Enabled
更多相关内容 -
ActiveX控件测试容器
2016-11-01 21:15:17从VC的示例代码中编译的ActiveX控件测试容器,可以很方便的测试开发中的ActiveX控件。 以前这个工具是作为VC的一个实用工具一起发布的,现在VC提供了代码,直接编译就行了。 -
java的容器控件有哪些?
2021-03-03 12:44:04我们需要一个能够提供图形绘制的容器,这个容器就被称为顶层容器,你也可以把它想象成一个窗口。顶层容器是进行图形编程的基础,一切图形化的东西,都必然包括在顶层容器中。在Swing中,我们有三种可以使用的顶层...1.顶层容器
什么是顶层容器?当我们使用Java进行图形编程的时候,图在哪里绘制呢?我们需要一个能够提供图形绘制的容器,这个容器就被称为顶层容器,你
也可以把它想象成一个窗口。顶层容器是进行图形编程的基础,一切图形化的东西,都必然包括在顶层容器中。在Swing中,我们有三种可以使用的顶层容器,
它们分别是:
JFrame:用来设计类似于Windows系统中的窗口形式的应用程序。
JDialog:和JFrame类似,只不过JDialog是用来设计对话框。
JApplet:用来设计可以在嵌入在网页中的Java小程序。
如果需要使用Swing制作一个窗口类程序,我们的代码看起来应该是这样:
import javax.swing.*;
public class KyodaiUI
extends JFrame {
……
}
2.控件
控件是构成应用程序界面的基本元素,按钮、文本框、进度条等,这些都是控件。控件(这里我们只讨论可视化控件)又可以分为容器控件和非容器控件。从字面
意义上来理解,容器控件就是能包含其他控件的特殊控件,例如,Java中的JPanel控件就属于容器型控件,我们可以在JPanel中放置按钮、文本框
等非容器控件,你甚至可以在JPanel中再放置若干个JPanel控件(值得注意的是,顶层容器也是容器型控件,每一个窗口应用程序中有且只能有一个顶
层容器控件,换句话说,顶层容器不能包括在其他的控件中)。
Java中的容器控件有很多,除刚才提到的JPanel外,还有
JTabbedPane、JScrollPane等,非容器控件有JButton、JLabel、JTextField等。如果你需要向某个容器型的控件
中添加控件,你可以使用 add(Component comp) 方法来实现,如:
JPanel panel = new JPanel();
JButton button = new JButton();
panel.add(button);
3.边框
虽然我们使用了不同前景色来区别不同的区域,然而却没有层次感,加上边框一定会漂亮许多。
在Java中,所有以J打头的Swing控件都可以使用setBorder方法来为自己设置边框。边框有很多种,线型、凸起、凹下、空的
-
ESP32 开发笔记(四)LVGL控件学习 Container 容器控件
2020-12-03 10:03:19先看效果,创建一个容器控件,动态在其中创建三个不同大小的标签演示容器控件的自适应布局 此文章为盖楼文章,为组织目录链接用,未写教程,教程更新后会删除此行 开发板购买链接...先看效果,创建一个容器控件,动态在其中创建三个不同大小的标签演示容器控件的自适应布局
开发板购买链接https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb2Ij1As&ft=t&id=626366733674
一、开发板简介
二、开发环境搭建 windows
三、基础示例
四、LVGL控件使用示例
LVGL_Arc_Test 圆弧指示器通过触摸动态改变值
LVGL_Bar_Test 通过动画方式动态演示Bar进度条的使用方法
LVGL_Button_Test 通过5种不同动态效果的按钮学习按钮的创建与使用
LVGL_ButtonMatrix_Test 创建一个计算器布局来演示矩阵按钮控件的使用
LVGL_Calendar_Test 日历控件的创建和使用
LVGL_Canvas_Test 透明画布和画一个圆角过渡色矩形旋转角度学习画布的使用
LVGL_Chart_Test 通过创建三个不同风格的图表来学习图表控件的使用
LVGL_Checkbox_Test 学习复选框控件的创建和使用
LVGL_ColorPicker_Test 创建一个颜色选择器并动态显示当前颜色的RGB值
LVGL_Container_Test 在容器控件上动态创建三个文本标签
LVGL_Drop_down_List_Test 创建三个不同类型的下拉选择控件
LVGL_Gauge_Test 创建一个动态仪表和静态多指针仪表
LVGL_Image_Test 通过四个滑动条控制图片颜色的变化学习图像控件的使用
LVGL_ImageButton_Test 创建一个图片背景的图像按钮
LVGL_Keyboard_Test 通过一个文本输入框控件还学习键盘控件的调用关闭设置
LVGL_Label_Test 创建颜色可变,长文本滚动,带阴影3D效果三个标签控件
LVGL_LED_Test 创建三个LED,学习LED控件的调光,颜色,开关的设置
LVGL_Line_Test 通过二维数组创建一段折线来演示线控件的使用
LVGL_LineMeter_Test 创建两个不同的线段弧形指示器动态展示数据
LVGL_List_Test 创建一个带图标的列表控件
LVGL_MessageBox_Test 创建一个带按钮的消息框控件
LVGL_ObjectMask_Test 创建一个变幻色的文本学习蒙版遮罩效果
LVGL_Page_Test 学习页面控件的使用
LVGL_Roller_Test 通过示例学习滑动列表选择器控件
LVGL_Slider_Test 创建一个单向和一个双向滑动条控件
LVGL_Spinbox_Test 学习微调控件的使用
LVGL_Spinner_Test 创建三个不同的环形加载器
LVGL_Switch_Test 创建两个不同的开关控件
LVGL_Table_Test 创建一个简单的表格
LVGL_Tabview_Test 实现三页的页面切换学习Tabview控件
LVGL_Textarea_Test 长按实现打字机效果的Textarea控件
LVGL_Tileview_Test 实现四面环形触摸切换的Tileview控件
LVGL_Window_Test 创建一个窗口,带设置子窗口学习窗口控件的使用容器(lv_cont):
容器本质上是具有布局和自动调整大小功能的 基本对象 。
零件和样式
容器只有一个主要样式称为
LV_CONT_PART_MAIN
,它可以使用所有通常的bacground属性和填充来自动调整布局大小。用法
布局
可以在容器上应用布局以自动订购其子代。布局间距来自样式的
填充(pad)
属性。可能的布局选项:- LV_LAYOUT_OFF – 不要对齐子代。
- LV_LAYOUT_CENTER – 将子项与列中的中心对齐,并
padd_inner
在它们之间保持间距。 - LV_LAYOUT_COLUMN_LEFT – 在左对齐的列中对齐子级。请
padd_left
在左边,空间pad_top
空间的顶部和pad_inner
孩子之间的空间。 - LV_LAYOUT_COLUMN_MID – 在中心列中对齐子代。
padd_top
在顶部和pad_inner
孩子之间保持空间。 - LV_LAYOUT_COLUMN_RIGHT – 在右对齐的列中对齐子代。保持
padd_right
右边的pad_top
空间,顶部的pad_inner
空间和孩子之间的空间。 - LV_LAYOUT_ROW_TOP – 在顶部对齐的行中对齐子级。请pad_left在左边,空间pad_top空间的顶部和pad_inner“ 孩子之间的空间。
- LV_LAYOUT_ROW_MID – 在居中的行中对齐子级。
pad_left
在左边和pad_inner
孩子之间保持空间。 - LV_LAYOUT_ROW_BOTTOM – 在底部对齐的行中对齐子级。请
pad_left
在左边,空间pad_bottom
空间的底部和pad_inner
孩子之间的空间。 - LV_LAYOUT_PRETTY_TOP – 将作为连续多的对象可能(至少
pad_inner
空间和pad_left/right
空间两侧)。在孩子之间的每一行中平均分配空间。如果这是连续不同身高的孩子,请对齐其上边缘。 - LV_LAYOUT_PRETTY_MID – 与
LV_LAYOUT_PRETTY_MID
相同,但是如果此处的孩子连续排成不同的高度,则对齐他们的中线。 - LV_LAYOUT_PRETTY_BOTTOM – 与 ··LV_LAYOUT_PRETTY_BOTTOM·· 相同, ··但是如果这是连续高度不同的子项,请对齐其底线。
- LV_LAYOUT_GRID – 类似于
LV_LAYOUT_PRETTY
但不能平均划分水平空间,只是让它们之间的pad_left/right
边缘和pad_inner
空间分开。
自动调整
容器具有自动适应功能,可以根据其子代和/或父代自动更改容器的大小。存在以下选项:
- LV_FIT_NONE – 不要自动更改大小。
- LV_FIT_TIGHT – 将容器收缩包装在其所有子容器周围,同时
pad_top/bottom/left/right
在边缘保留空间。 - LV_FIT_PARENT – 将大小设置为父项的大小减去
pad_top/bottom/left/right
(来自父项的样式)空间。 - LV_FIT_MAX – 使用
LV_FIT_PARENT
而不是父小,LV_FIT_TIGHT
时大。它将确保该容器至少是其父容器的大小。
要为所有方向设置自动适合模式,请使用。要在水平和垂直方向上使用不同的自动拟合,请使用。要在所有四个方向上使用不同的自动拟合,请使用。lv_cont_set_fit(cont, LV_FIT_…)lv_cont_set_fit2(cont, hor_fit_type, ver_fit_type)lv_cont_set_fit4(cont, left_fit_type, right_fit_type, top_fit_type, bottom_fit_type)
事件
仅 通用事件 是按对象类型发送的。
按键
对象类型不处理任何键。
-
Python Qt GUI设计:QTabWidget、QStackedWidget和QDockWidget容器控件类(提升篇—2)
2021-11-03 21:49:02有时候我们可能会面临这样一种情况:所开发的程序包含了太多的控件,导致一个窗口装载不下或者装载的控件太多而不美观。本篇博文就来解决这个问题,即如何在现有的窗口空间中装载更多的控件。目录
有时候我们可能会面临这样一种情况:所开发的程序包含了太多的控件,导致一个窗口装载不下或者装载的控件太多而不美观。
本篇博文就来解决这个问题,即如何在现有的窗口空间中装载更多的控件。
1、QTabWidget容器控件类
QTabWidget控件提供了一个选项卡和一个页面区域,默认显示第一个选项卡的页面。通过单击各选项卡可以查看对应的页面。如果在一个窗口中显示的输入字段很多,则可以对这些字段进行拆分,分别放置在不同页面的选项卡中。
QTabWidget类中的常用方法如下表所示:
QTabWidget类中的常用信号如下表所示:
通过示例,了解QTabWidget容器控件类的使用方法,效果如下所示:
示例中,一个表单的内容分为三组,每一组小控件都显示在不同的选项卡中。顶层窗口是一个QTablWidget控件,将三个选项卡添加进去。
实现代码如下所示:
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class TabDemo(QTabWidget): def __init__(self, parent=None): super(TabDemo, self).__init__(parent) self.tab1 = QWidget() self.tab2 = QWidget() self.tab3 = QWidget() self.addTab(self.tab1,"Tab 1") self.addTab(self.tab2,"Tab 2") self.addTab(self.tab3,"Tab 3") self.tab1UI() self.tab2UI() self.tab3UI() self.setWindowTitle("Tab 例子") def tab1UI(self): layout = QFormLayout() layout.addRow("姓名",QLineEdit()) layout.addRow("地址",QLineEdit()) self.setTabText(0,"联系方式") self.tab1.setLayout(layout) def tab2UI(self): layout = QFormLayout() sex = QHBoxLayout() sex.addWidget(QRadioButton("男")) sex.addWidget(QRadioButton("女")) layout.addRow(QLabel("性别"),sex) layout.addRow("生日",QLineEdit()) self.setTabText(1,"个人详细信息") self.tab2.setLayout(layout) def tab3UI(self): layout=QHBoxLayout() layout.addWidget(QLabel("科目")) layout.addWidget(QCheckBox("物理")) layout.addWidget(QCheckBox("高数")) self.setTabText(2,"教育程度") self.tab3.setLayout(layout) if __name__ == '__main__': app = QApplication(sys.argv) demo = TabDemo() demo.show() sys.exit(app.exec_())
2、QStackedWidget容器控件类
QStackedWidget是一个堆栈窗口控件,使用QStackedLayout布局,可以填充一些小控件,但同一时间只有一个小控件可以显示。QStackedWidget控件与QTabWidget类似,可以有效地显示窗口中的控件。
通过示例,了解QStackedWidget容器控件类的使用方法,效果如下所示:
示例中,在QStackedWidget对象中填充了三个子控件。每个子控件都可以有自己的布局,包含特定的表单元素。QStackedWidget控件不能在页面之间切换,它与当前选中的QListWidget控件中的选项进行连接。将QListWidget的currentRowChanged信号与display()槽函数相关联,从而改变堆叠控件的视图。
实现代码如下所示:
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class StackedExample(QWidget): def __init__(self): super(StackedExample, self).__init__() self.setGeometry(300, 50, 10,10) self.setWindowTitle('StackedWidget 例子') self.leftlist = QListWidget () self.leftlist.insertItem (0, '联系方式' ) self.leftlist.insertItem (1, '个人信息' ) self.leftlist.insertItem (2, '教育程度' ) self.stack1= QWidget() self.stack2= QWidget() self.stack3= QWidget() self.stack1UI() self.stack2UI() self.stack3UI() self.Stack = QStackedWidget (self) self.Stack.addWidget (self.stack1) self.Stack.addWidget (self.stack2) self.Stack.addWidget (self.stack3) hbox = QHBoxLayout(self) hbox.addWidget(self.leftlist) hbox.addWidget(self.Stack) self.setLayout(hbox) self.leftlist.currentRowChanged.connect(self.display) def stack1UI(self): layout=QFormLayout() layout.addRow("姓名",QLineEdit()) layout.addRow("地址",QLineEdit()) self.stack1.setLayout(layout) def stack2UI(self): layout=QFormLayout() sex=QHBoxLayout() sex.addWidget(QRadioButton("男")) sex.addWidget(QRadioButton("女")) layout.addRow(QLabel("性别"),sex) layout.addRow("生日",QLineEdit()) self.stack2.setLayout(layout) def stack3UI(self): layout=QHBoxLayout() layout.addWidget(QLabel("科目")) layout.addWidget(QCheckBox("物理")) layout.addWidget(QCheckBox("高数")) self.stack3.setLayout(layout) def display(self,i): self.Stack.setCurrentIndex(i) if __name__ == '__main__': app = QApplication(sys.argv) demo = StackedExample() demo.show() sys.exit(app.exec_())
3、QDockWidget容器控件类
QDockWidget是一个可以停靠在QMainWindow内的窗口控件,它可以保持在浮动状态或者在指定位置作为子窗口附加到主窗口中。QMainWindow类的主窗口对象保留有一个用于停靠窗口的区域,这个区域在控件的中央周围,如下图所示:
QDockWidget控件在主窗口内可以移动到新的区域。QDockWidget类中的常用方法如下表所示:
通过示例,了解QDockWidget容器控件类的使用方法,效果如下所示:
示例中,顶层窗口是一个QMainWindow对象,QTextEdit对象是它的中央小控件,创建可停靠的窗口items,然后,在停靠窗口items内添加QListWidget对象,最后,将停靠窗口放置在中央小控件的右侧。
实现代码如下所示:
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class DockDemo(QMainWindow): def __init__(self, parent=None): super(DockDemo, self).__init__(parent) layout = QHBoxLayout() bar=self.menuBar() file=bar.addMenu("File") file.addAction("New") file.addAction("save") file.addAction("quit") self.items = QDockWidget("Dockable", self) self.listWidget = QListWidget() self.listWidget.addItem("item1") self.listWidget.addItem("item2") self.listWidget.addItem("item3") self.items.setWidget(self.listWidget) self.items.setFloating(False) self.setCentralWidget(QTextEdit()) self.addDockWidget(Qt.RightDockWidgetArea, self.items) self.setLayout(layout) self.setWindowTitle("Dock 例子") if __name__ == '__main__': app = QApplication(sys.argv) demo = DockDemo() demo.show() sys.exit(app.exec_())
-
VB代码使用WebBrowser控件作为容器打开Word文档
2008-09-08 13:33:39使用WebBrowser控件作为容器打开Word文档 -
Android标签容器控件的实现
2016-07-21 14:57:00Android中标签容器控件的实现,在一些APP中我们可以看到一些存放标签的容器控件,和我们平时使用的一些布局方式有些不同,它们一般都可以自动适应屏幕的宽度进行布局,根据对自定义控件的一些理解,今天写一个简单的... -
Qt之容器控件(QDockWidget)
2020-03-22 17:10:41QDockWidget类提供了一个小部件,它可以停靠在QMainWindow内,也可以作为桌面上的顶层窗口浮动。 功能详述 QDockWidget提供了铆接(停靠)控件的概念,也叫做工具窗口。铆接窗口是QMainWindow中心控件的辅助窗口,... -
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2021-01-19 19:54:10除了一个HTML作为基本容器外,就全是JS文件了(页面是由JS文件实现的)。当用户切换页面时候,我们通过析构上一个页面对象,然后创建新页面对象并展现在HTML中。基于这种架构,我们还引入了一个ActiveX控件,用于展现... -
ActiveX 控件测试容器TstCon可执行应用程序。
2018-05-16 16:36:02这是一个可执行应用程序,直接双击就可以使用,或者在Visual Studio 2010作为菜单栏的工具栏作为外部工具使用。 -
ActiveX容器
2014-10-22 09:55:01VS2005提供的ActiveX测试容器,可单独使用。 -
Qt之容器控件(QTabWidget)
2020-03-21 15:28:39默认情况下,选项卡栏显示在页面区域上方,但是可以使用不同的配置(请参见TabPosition)。每个选项卡都与一个不同的窗口小部件(称为页面)相关联。页面区域中仅显示当前页面。其他所有页面均被隐藏。用户可以通过... -
WPF 某个界面或控件在界面找不到看不到可能的原因
2021-06-15 16:02:42本文来告诉大家在 WPF 开发中,发现有某个按钮或某个控件,某个预期的界面,没有在窗口或者...调试某个控件元素是否在 WPF 界面的视觉树上,可以通过 VisualStudio 的实时可视化树功能进行调试 如果已进入后台断点,... -
statuspanel能不能作为自定义控件的容器
2016-05-17 07:56:23statuspanel能不能作为自定义控件的容器,怎么在statuspanel上呈现带有用户事件的自定义控件? -
Csharp控件详解
2017-05-14 14:32:55里面包含大多数控件的详细用法 -
Java AWT/Swing实现不规则窗体和控件
2019-05-09 05:27:28由于是自学,又是大专,没有科班的基础,所以不是很care算法和数据结构,因为Java可以快速作出一个肉眼可以看到的UI,所以我选择了Java而不是C/C++,同时由于MFC这些和微软的系统强相关,也就是说,同时放弃了VC++。... -
OpenLayers加载缩放控件使用方法详解
2020-10-14 17:36:21主要为大家详细介绍了OpenLayers加载缩放控件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
ASP.NET中Literal与Label控件的区别
2021-01-02 11:26:11对于静态内容,无需使用容器,可以将标记作为 HTML 直接添加到页面中。但是,如果要动态添加内容,则必须将内容添加到容器中。典型的容器有 Label 控件、Literal 控件、Panel 控件和 PlaceHolder 控件。 Literal ... -
Qt之容器控件(QMdiArea)
2020-03-22 14:08:59简述 QMdiArea(Multiple Document Interface Area)提供了一个可以同时显示多个文档窗口的...通常情况下,QMdiArea用作QMainWindow的中心控件,以此来创建一个MDI应用程序。但是,它也可以被放置在任何布局类中。... -
Qt自定义控件开发与使用,自定义控件实现容器与控件内布局
2018-04-15 22:12:271.开发环境 Qt版本:Qt 4.8.7 编译器:MinGw 系统:Windows 2.创建Qt4自定义控件 ...此时编译出来Release版本的自定义控件放进Designer目录下仅能在Designer中拖动,在使用该控件的工程中编译将会报错,所... -
C# 如何设置label(标签)控件的背景颜色为透明
2020-12-16 21:37:51在C#这里,透明就是指透过控件的背景,可以看到其父控件(容器)表面的颜色。所谓的透明,其实就是将父控件表面的颜色设定为自己的背景颜色。 设置控件背景颜色为透明的步骤和注意事项: 以pictureBox上的label控件... -
VB使用WebBrowser控件打开Word文档
2021-05-12 20:40:12内容索引:VB源码,文件操作,Word,WebBrowser VB使用WebBrowser控件作为容器打开Word文档文件,可以读取Word的格式等,教你如何在VB编写的程序中读取Word,示例简单,新手也能看懂,比较不错哦。 -
学习在虚幻引擎中使用UMG作为编辑器控件
2021-12-09 21:20:14本篇目标是,学习使用UMG作为编辑器控件(之前往往是使用Slate做编辑器控件),然后对一些感兴趣的地方进行观察和实验。 1. 试用基础功能 正如官方文档所展示的,其功能的使用很简单。 首先创建一个 Editor Utility ... -
ASP:Panel控件(容器控件)
2014-07-23 23:38:23Panel控件在页面内为其他控件提供了一个容器,可以将多个控件放入一个Panel控件中,作为一个单元进行控制,如隐藏或显示这些控件;同时,也可以使用Panel控件为一组控件创建独特的外观。 Panel控件相当于一个储物... -
容器控件JPanel的使用
2017-04-02 23:29:25就是为其他的控件提供空间作为支撑,且可以在属性中设置其背景色 对于每一个 JPanel 都有一个布局选项 Layout,根面板 contentPane 的布局默认为 java.awt.BorderLayout 除了 ... -
DotNetBar.Bar作为容器使用的方法及Text更新原理
2014-11-18 15:33:45控件DevComponents.DotNetBar.Bar是可以有多种用途的,其中一种是用作容器,如下图的SQLServer管理器,就是一个容器,容器里面存在两个页面“对象资源管理器详细信息”和“对象资源管理器“,这两个页面上又分别容纳... -
Android 自定义控件详解及实例代码
2021-01-04 01:13:52Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类。 View定义了绘图的基本操作 基本操作由三个函数完成:measure()、layout()、draw(),其内部又分别... -
WPF控件
2022-03-27 09:41:58控件是门面,控件有很多,,日常工作中打交道最多的控件无外乎6类:布局控件,内容控件,带标题内容控件等,条目控件,带标题条目控件, 学习控件之前,需要先了解UI元素。UI的功能是让用户观察和操作数据,为了能... -
Openlayers学习之地图比例尺控件
2021-01-18 17:04:091、新建一个html页面,引入ol.js和ol.css文件,然后在body中创建两个div标签,分别用来作为地图和比例尺控件的容器; 2、代码实现 <!DOCTYPE html> <html xmlns=http://www.w3.org/1999/xhtml> <head&... -
2017-4-27 WinForm 布局及容器控件
2017-04-27 17:51:00Anchor ----------------定义某个控件绑定到的容器的边缘,当控件锚定到某个边缘时,与指定边缘最接近的控件边缘与指定边缘之间的距离将保持不变。Dock -----------------------定义要绑定到容器的控件边框Location-...