精华内容
下载资源
问答
  • 在Android开发过程,常常会遇到这样的场景:我们展示一种物品或者为某一事物添加一些标签。比如说,我们买一件衣服,可以以下几种标签:杰克琼斯,男士,运动等等...本文将实例介绍Android标签容器控件的实现过程。
  • 主要介绍了C#实现根据指定容器控件名字获得控件的方法,其中包括了遍历与递归的应用,需要的朋友可以参考下
  • GroupBox,并可以在右边GroupBox区域进行移动该控件及变动宽度和高度。 2.从左边容器(GroupBox)Button,拖到右边的GroupBox区域后,重新创建一个Button,并不移动之前的Button, 新创建的Button可在该区域移动...
  • 程序可以运行,添加一个控件后用鼠标滑动控件容器
  • 代码_容器控件的使用

    2015-06-29 21:56:05
    文章《C#学习笔记__容器控件的使用》相关代码。天天进步一点点!
  • ActiveX控件测试容器

    热门讨论 2012-12-11 11:11:48
    ActiveX控件测试容器(TstCon32.exe) 在Vista或者windows7操作系统可用 在VS2008 IDE编译通过。
  • c#之容器控件

    千次阅读 2018-01-13 14:00:30
    1. GroupBox控件 GroupBox 控件用于为其他控件提供可识别的分组。 在窗体上创建GroupBox控件及其内部控件时,必须先... TabControl 显示多个选项卡,选项卡可包含图片和其他控件。 TabControl控件的常用属性:

    1. GroupBox控件
    GroupBox 控件用于为其他控件提供可识别的分组。
    在窗体上创建GroupBox控件及其内部控件时,必须先建立GroupBox控件,然后在其内建立各种控件。

    2. TabControl控件
    TabControl 显示多个选项卡,选项卡中可包含图片和其他控件。
    TabControl控件的常用属性:
    SelectedIndex:
    获取或设置当前选定的选项卡页的索引

    SelectedTab:
    获取或设置当前选定的选项卡页,该属性在TabPages的实例上使用

    TabPages:
    获取该选项卡控件中选项卡页的集合,使用这个集合可以添加和删除TabPages对象

    例:

    单击单选按钮,选择相应的选项卡页。
    先设置TabPages属性的值:
    tabPage1.text: 课程
    tabPage2.text: 学生
    这里写图片描述

    这里写图片描述

    展开全文
  • 欢迎大家来学习本节内容,前几节我们已经学习了其他几种自定义控件,分别是Andriod 自定义控件之音频条及 Andriod 自定义控件之创建可以复用的组合控件还没有学习的同学请先去学习下,因为本节将使用到上几节所讲述...
  • android 可以根据数值动态改变控件的大小的控件 常用控件都是可以改变的,根据参数值,里面的控件可以实现自动适配大小 按比例显示出来,效果非常棒(开玩笑的,下了就知道了)
  • 本篇文章主要是对javascript客户端遍历控件与获取父容器对象示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
  • PyQt5入门(十五)容器控件

    千次阅读 2021-02-04 15:32:25
    使用容器控件的目的:使屏幕上有更多的控件 一.选项卡控件QTabWidget 什么是选项卡控件? 示例: 不同的选项卡控件对应了不同的不同的界面,就让也避免了东西太多一个页面放不下。 代码: 运行结果: 二.堆栈窗口...

    目录

    一.选项卡控件QTabWidget

    二.堆栈窗口控件QStackedWidget

    三.停靠控件QDockWidget

    四.容纳多文档的窗口


    使用容器控件的目的:使屏幕上有更多的控件

     

    一.选项卡控件QTabWidget

    什么是选项卡控件?

    示例:

    不同的选项卡控件对应了不同的不同的界面,就让也避免了东西太多一个页面放不下,也就是一个选项卡对应一个窗口。

    代码:

    import sys
    from PyQt5.QtWidgets import *
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    
    
    class TabWidget(QTabWidget): #直接一整个屏幕就是一个选项卡窗口
        def __init__(self,parent=None):
            super(TabWidget, self).__init__(parent)
            self.setWindowTitle('选项卡控件:QTabWidget')
            self.resize(400,200)
            #创建用于显示控件的窗口
            self.tab1=QWidget()
            self.tab2 = QWidget()
            self.tab3 = QWidget()
            #将窗口和选项卡绑定
            self.addTab(self.tab1,'选项卡1')
            self.addTab(self.tab2, '选项卡2')
            self.addTab(self.tab3, '选项卡3')
    
            self.tab1UI()
            self.tab2UI()
            self.tab3UI()
    
        def tab1UI(self):
            #表单布局
            layout=QFormLayout()
            layout.addRow('姓名',QLineEdit())
            layout.addRow('地址',QLineEdit())
            # 将第一个选项卡窗口重命名
            self.setTabText(0,'联系方式')
            self.tab1.setLayout(layout)#别忘了tab1就是一个窗口
    
        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)
        main=TabWidget()
        main.show()
        sys.exit(app.exec_())
    
    

    运行结果:

          

     

    二.堆栈窗口控件QStackedWidget

    通过索引来切换页面

    代码:

    import sys
    from PyQt5.QtWidgets import *
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    
    
    class StackedExample(QWidget): #直接一整个屏幕就是一个选项卡窗口
        def __init__(self,parent=None):
            super(StackedExample, self).__init__(parent)
            self.setWindowTitle('堆栈窗口控件:QStackedWidget')
            #self.resize(400,200)
            self.setGeometry(800,450,10,10)
            #列表控件
            self.list=QListWidget()
            self.list.insertItem(0,'联系方式')
            self.list.insertItem(1,'个人信息')
            self.list.insertItem(2,'教育程度')
    
            self.stack1=QWidget()
            self.stack2 = QWidget()
            self.stack3 = QWidget()
    
            self.tab1UI()
            self.tab2UI()
            self.tab3UI()
            #堆栈窗口控件对象
            self.stack=QStackedWidget()
            self.stack.addWidget(self.stack1)
            self.stack.addWidget(self.stack2)
            self.stack.addWidget(self.stack3)
    
            self.list.currentRowChanged.connect(self.display)
    
            hbox=QHBoxLayout()
            hbox.addWidget(self.list)
            hbox.addWidget(self.stack)
            self.setLayout(hbox)
    
        def tab1UI(self):
            #表单布局
            layout=QFormLayout()
            layout.addRow('姓名',QLineEdit())
            layout.addRow('地址',QLineEdit())
            self.stack1.setLayout(layout)#别忘了tab1就是一个窗口
    
        def tab2UI(self):
            layout=QFormLayout()
            sex=QHBoxLayout()#水平布局,横向排列
            #单选框
            sex.addWidget(QRadioButton('男'))
            sex.addWidget(QRadioButton('女'))
            layout.addRow(QLabel('性别'),sex)
            layout.addRow('生日',QLineEdit())
            self.stack2.setLayout(layout)
    
        def tab3UI(self):
            layout=QHBoxLayout()
            layout.addWidget(QLabel('科目'))
            #复选框
            layout.addWidget(QCheckBox('物理'))
            layout.addWidget(QCheckBox('高数'))
            self.stack3.setLayout(layout)
    
        def display(self,index):
            #通过索引来切换页面
            self.stack.setCurrentIndex(index)
    
    
    if __name__=='__main__':
        app=QApplication(sys.argv)
        main=StackedExample()
        main.show()
        sys.exit(app.exec_())
    
    

    运行结果:

     

    三.停靠控件QDockWidget

    代码:

    import sys
    from PyQt5.QtWidgets import *
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    
    
    class DockDemo(QMainWindow): #直接一整个屏幕就是一个选项卡窗口
        def __init__(self,parent=None):
            super(DockDemo, self).__init__(parent)
            self.setWindowTitle('停靠控件:QDockWidget')
            self.setGeometry(800,450,500,500)#x,y,w,h
            #self.resize(400, 200)
    
            layout=QHBoxLayout()
            #停靠控件对象
            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.setCentralWidget(QLineEdit('单行输入'))
            #设置一开始就是悬浮状态
            self.items.setFloating(True)
    
            #在窗口上设置停靠控件,且悬浮在右侧
            self.addDockWidget(Qt.RightDockWidgetArea,self.items)
    
    
    if __name__=='__main__':
        app=QApplication(sys.argv)
        main=DockDemo()
        main.show()
        sys.exit(app.exec_())
    
    

    运行结果:

          就像编译器里的一些左右侧的窗口一样,可随意拖动,缩小放大,调换位置等,自己试试吧!

     

    四.容纳多文档的窗口

    相当于窗口的容器,里面可以有很多子窗口,但子窗口只能在这里面移动。

    需要的类:

    容纳多文档:QMdiArea
    子窗口:       QMdiSubWindow

     

    代码:

    import sys
    from PyQt5.QtWidgets import *
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    
    
    class MultiWindows(QMainWindow): #直接一整个屏幕就是一个选项卡窗口
        count=0 #记录当前有多少个菜单项
        def __init__(self,parent=None):
            super(MultiWindows, self).__init__(parent)
            self.setWindowTitle('容纳多文档的窗口')
            self.setGeometry(800,450,500,400)#x,y,w,h
    
            #容纳多文档容器对象
            self.mdi=QMdiArea()
    
            bar=self.menuBar()
            file=bar.addMenu('File')
            file.addAction('New')
            file.addAction('cascade') #重叠
            file.addAction('Tiled')  #平铺
    
            file.triggered.connect(self.windowAction)
    
            self.setCentralWidget(self.mdi)
    
        def windowAction(self,q): #q是当前的单击菜单项,通过按钮名来进行不同的操作
            if q.text()=='New':
                self.count=self.count+1
                #子窗口对象
                sub=QMdiSubWindow()
                sub.setWidget(QTextEdit())
                sub.setWindowTitle('子窗口'+str(self.count))
                self.mdi.addSubWindow(sub)
                sub.show()
            #下面两个是对mdi中已有的窗口排布进行操作,而不是生成窗口
            elif q.text()=='cascade':
                self.mdi.cascadeSubWindows()
            elif q.text()=='Tiled':
                self.mdi.tileSubWindows()
    
    
    if __name__=='__main__':
        app=QApplication(sys.argv)
        main=MultiWindows()
        main.show()
        sys.exit(app.exec_())
    
    

    运行结果:

      先随机生成(New)四个窗口,再试试其他两个排版的效果 。

    重叠                       平铺

     

     

     

     

     

    展开全文
  • 第一种写法:容器.Control.add(控件); 第二种写法:控件.parent=容器; 二者是是完全一样的吗?有什么区别? tableLayoutPanel1.Controls.Add(Form1, 0, 0);//将Form1添加进tableLayoutPanel1的(0,0)单元格里。 ...
  • 转移控件到其它容器程序(VB6.0源代码编写)可以将转移控件到其它容器
  • 【C#】自定义容器控件,设置界面控件,支持设计器拖入控件-附件资源
  • 摘要:C#源码,控件类库,ListView,高亮显示 C#使ListView控件中的选择项高亮显示,定义一个全局变量标识,设置是否在listView1控件中显示网格线,设置listView1控件在其父容器中的停靠方式,定义listView表头信息,...
  • 我做一个项目,两种测试模式会用到同一个小功能(有界面,少量几个下拉框和textBox)。其中一种模式已经做完,再做另一个模式时,发现这个小功能已经做过了,怎么才能不重复写代码呢?已经做过的小界面怎么共用到另...
  • 1.开发环境 Qt版本:Qt 4.8.7 编译器:MinGw 系统:Windows 2.创建Qt4自定义控件 ...此时编译出来Release版本的自定义控件放进Designer目录下仅能在Designer拖动,在使用该控件的工程编译将会报错,所...

    1.开发环境

    Qt版本:Qt 4.8.7
    编译器:MinGw
    系统:Windows

    2.创建Qt4自定义控件

    创建一个Qt自定义控件工程。

    这里写图片描述

    工程名为Custom。

    这里写图片描述

    控件类取名Custom。

    这里写图片描述

    然后完成创建。

    3.包含头文件与宏

    此时编译出来Release版本的自定义控件放进Designer目录下仅能在Designer中拖动,在使用该控件的工程中编译将会报错,所以需要在该控件编译前在该控件类的头文件中包含指定的头文件与宏。

    在custom.h中包含头文件QtDesigner/QDesignerExportWidget。

    #include <QtDesigner/QDesignerExportWidget>

    在class与类名Custom之间添加宏。

    QDESIGNER_WIDGET_EXPORT

    这里写图片描述

    4.编写自定义控件

    这里测试用的Custom为了与Qt控件在外观上区别开,加上一段qss就好。

    这里写图片描述

    当然Custom继承自QWidget类,为了使qss有效,会重写一下paintEvent事件函数。

    void Custom::paintEvent(QPaintEvent *)
    {
        QStyleOption styleOpt;
        styleOpt.init(this);
        QPainter painter(this);
        style()->drawPrimitive(QStyle::PE_Widget, &styleOpt, &painter, this);
    }

    5.编译

    编写好自定义控件类后,就需要编译Release版本了。

    编译好Release版本后,在目标目录中找到customplugin.dll和libcustomplugin.a(vs编译为.lib)并将其拷贝到Qt安装目录下的plugins\designer中。

    这里写图片描述

    6.Designer

    打开Designer,就可以在“自定义窗口部件”一栏下看到刚才编写的自定义控件Custom。

    这里写图片描述

    拖动Custom到Designer的窗口中,就可以看到效果。

    这里写图片描述

    7.使用自定义控件

    在Qt Creator中新建一个应用工程CustomWidget。

    在CustomWidget工程目录下新建include和lib两个目录。

    这里写图片描述

    讲自定义控件Custom的头文件custom.h拷贝到include目录下,讲库libcustomplugin.a拷贝到lib目录下。

    注意:此时因为使用的自定义控件是Release版本的,所以当前应用工程也编译Release版本,如果当前应用工程需要Run的是Debug版本,则链接的自定义控件类库也需要时Debug版本。

    在CustomWidget.pro工程文件中包含头文件与库。

    INCLUDEPATH += $$PWD/include
    LIBS += $$PWD/lib/libcustomplugin.a

    执行一次qmake,在生成的目标目录下,将customplugin.dll拷贝到程序运行目录下。

    使用Designer编辑.ui文件。(是加载有自定义控件Custom的Qt Designer)

    在Designer中使用自定义控件Custom。

    这里写图片描述

    编译应用工程CustomWidget成功后,然后运行就OK了。

    这里写图片描述

    8.Designer中实现容器与控件内布局

    在Qt Designer中,QWidget以及QGroupBox等预定义控件都可以当做容器来存放其他控件并实现快速布局,但是在自定义控件继承了其基类后发现无法当做容器来存放其他控件并实现快速布局,这个时候就需要修改重写QDesignerCustomWidgetInterface类中的一个函数的实现。

    找到Qt自定义控件中xxxplugin.h,其中有一个重写QDesignerCustomWidgetInterface类的函数isContainer,即是否为一个容器。

    bool isContainer() const;

    跳转到xxxplugin.cpp中isContainer函数的实现。

    bool XXXPlugin::isContainer() const
    {
        return false;
    }

    将返回值修改为true。

    bool XXXPlugin::isContainer() const
    {
        return true;
    }

    然后重新编译并在Qt Designer中使用,即可发现该自定义控件可以作为一个容器存放其他控件并实现控件内布局。

    展开全文
  • 使用WebBrowser控件作为容器打开Word文档
  • 视图容器控件 PPRevealSideViewController ,PPRevealSideViewController 是一个视图容器控件,实现了类似 Path 和 ...
  • 控件选板提供了创建虚似...子选板,包括数值控件(如滑动杆和旋钮),布尔控件(如按钮和开关),字符串和路径,数组,簇,列表框,树型控件,图形,表格,下拉列表控件,枚举控件和容器控件等,如图2所示。图标右
  • ActiveX 控件测试容器TstCon32
  • 遍历容器控件

    2018-04-02 15:31:06
    例如 遍历一个容器内的所有CheckBox控件:foreach (Control item in 控件a.Controls){ if (item is CheckBox) { //对控件 (item as CheckBox) 进行操作 }}

    例如 遍历一个容器内的所有CheckBox控件:

    foreach (Control item in 控件a.Controls)

    {
        if (item is CheckBox)
        {
            //对控件 (item as CheckBox) 进行操作
        }
    }
    展开全文
  • Android UI控件之容器控件

    千次阅读 2018-10-14 19:30:26
    基本概念 继承关系: View----ViewGroup---LinearLayout, RelativeLayout, FrameLayout, AbsoluteLayout-----TableLayout(继承自LinearLayout)   LinearLayout ...gravity:设置布局管理器的对齐方式,默认是左...
  • Winform清空容器中所有控件中的值

    千次阅读 2018-11-30 08:50:09
    在Winfrom开发,在用户提交数据后,有时需要清空界面... /// 清除容器里面某些控件的值 /// &lt;/summary&gt; /// &lt;param name="parContainer"&gt;容器名称&lt;/param&gt; ...
  • 由于安卓应用很广泛,在工业也常有一些应用,比如可以用安卓来去工业的一些数据进行实现的监测,显示,同时可以做一些自动化控制,当然在这里,我不是做这些自动化控制方面的研究,只是做一个控件,液位指示,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 125,212
精华内容 50,084
关键字:

以下控件中可以作为容器的控件的是