-
2021-01-19 17:05:46
import sys from PyQt5.QtWidgets import QWidget, QComboBox, QApplication class ComboxDemo(QWidget): def __init__(self): super().__init__() # 设置标题 self.setWindowTitle('ComBox例子') # 设置初始界面大小 self.resize(300, 200) # 实例化QComBox对象 self.cb = QComboBox(self) self.cb.move(100, 20) # 单个添加条目 self.cb.addItem('C') self.cb.addItem('C++') self.cb.addItem('Python') # 多个添加条目 self.cb.addItems(['Java', 'C#', 'PHP']) # 信号 self.cb.currentIndexChanged[str].connect(self.print_value) # 条目发生改变,发射信号,传递条目内容 self.cb.currentIndexChanged[int].connect(self.print_value) # 条目发生改变,发射信号,传递条目索引 self.cb.highlighted[str].connect(self.print_value) # 在下拉列表中,鼠标移动到某个条目时发出信号,传递条目内容 self.cb.highlighted[int].connect(self.print_value) # 在下拉列表中,鼠标移动到某个条目时发出信号,传递条目索引 def print_value(self, i): print(i) if __name__ == '__main__': app = QApplication(sys.argv) comboxDemo = ComboxDemo() comboxDemo.show() sys.exit(app.exec_())
更多相关内容 -
Ext中下拉列表ComboBox组件store数据格式用法介绍
2020-12-11 10:40:10代码如下: var p_years = new Ext.form.ComboBox( { fieldLabel : ‘统计年份’, anchor : anchor_w, mode : ‘remote’, maxHeight:100, triggerAction : ‘all’, selectOnFocus : true, forceSelection : true, ... -
Chrome在线查看网页下拉列表的选项个数
2020-10-10 11:14:142、点击①所代表的选择元素,再定位到下拉列表,并记住select标签(代表的是下拉列表)里的id,本例中为“sel_area"; (三)在console中查看结果 在“Console”中添加如下代码,其中“sel_area”为第(二)步中...(一)按F12或者“Ctrl+Shift+I”打开开发者工具
(二)找到下拉列表的id
1、找到“Elements”;
2、点击①所代表的选择元素,再定位到下拉列表,并记住select标签(代表的是下拉列表)里的id,本例中为“sel_area";
(三)在console中查看结果
在“Console”中添加如下代码,其中“sel_area”为第(二)步中获得的下拉列表id,
alert(document.getElementById("sel_area").length);
按回车即可弹出结果:
-
toast-ui.select-box:在下拉列表中选择一个选项的组件
2021-08-04 22:04:09在下拉列表中选择选项的组件。 :triangular_flag: 目录 安装 通过包管理器新产品经理 通过内容交付网络 (CDN) 下载源文件 :hammer: 用法 HTML JavaScript 在浏览器环境中使用命名空间 在节点环境中使用... -
java下拉式列表
2011-12-22 10:09:08建立一个班级下拉式列表,列表项中有2004(1)班,2004(2)班,2004(3)班和2004(4)班。当点击某个选项时,将其成绩单显示在文本区中。 -
PowerApps教程09-下拉列表以及联动筛选
2021-02-27 17:00:48一、开篇 大家新年好!祝大家新年新气象、一切顺心如意!...大家注意,这里不是下面的项目列表筛选不成功,我当时随便创建了两条记录,其中一条记录说是“无锡某炼油工程项目”,但是我是把它的地址设置为一、开篇
大家新年好!祝大家新年新气象、一切顺心如意!
好久没有更新了,过年期间大家都懂的,参与了很多的“膘局”,而且护膘成功。。。
上一个教程跟大家说过了,有了前面的教程,大家其实都可以轻松地做一个比较简单的软件或者系统了。那么今天开始,我们讲解一些更加深入的东西,帮助大家完善各种功能并满足软件的细节性需求。
二、效果
比方说下面的这个截图,就是我们今天想要实现的效果。
大家注意,这里不是下面的项目列表筛选不成功,我当时随便创建了两条记录,其中一条记录说是“无锡某炼油工程项目”,但是我是把它的地址设置为了“苏州”的。
三、目的
我们之前的项目清单页面已经可以搜索了,但是只能按照项目编号和项目名称进行查找或者搜索,让我们先回顾一下:
假设我们需要按照区域来查看项目,并对这些项目有一些信息的汇总,那么我们就可以开始设计了。最终会在这个项目清单的下方添加一个“按区域显示”的按钮,点击之后会让我看到按照区域显示的界面,就是我们这章第二部分讲到的效果截图。
四、页面设计
1. 新建屏幕
这个就很简单了,大家可以直接复制一个屏幕,比方说我们现有的项目清单这个屏幕,然后删除掉不需要的控件,修改一下屏幕的名称。
2. 添加下拉列表控件
假设我们希望按照省份以及城市来进行筛选,那我们可以创建一个省份的下拉列表,以及一个城市的下拉列表;同时,城市的列表选项会随着省份的变化而发生变化,也就是说当我们的省份选择了“江苏省”的时候,城市的列表就只显示江苏省的城市。
2.1 创建省份下拉列表
我们先创建省份/直辖市下拉列表:
我们调整好这个下拉列表的尺寸和位置,然后在属性列表选择“Items”,然后在后边的公式输入区域进行数据的设置。
第一种方式就是直接使用列表,比方说我们截图里边显示的,中括号,然后用逗号分隔列表值,同时,记得使用英文的双引号引起来:
["上海市","湖南省","广东省","海南省","江苏省","山东省"]
第二种方式就是可以直接利用数据源里边的值了,我们等一会再细聊。
2.2 创建城市下拉列表
省份与城市是存在有从属关系的,而且是1对N的关系,也就是一个省份可以有很多的城市;那么我们可以先在我们的数据源里创建这个列表,从而当我们调用数据的时候,就可以用现存的逻辑关系来对城市进行筛选了。
大家可以看到,这里的“Items”属性我们用的就不是列表值了,而是用了公式。这就是第二种方式了。
我们提到了,数据源已经设置了省份和城市的关系列表,我们这里就是直接调用了。Filter(City,Province.Value=Dropdown1.Selected.Value)
在这个公式里,City是我们数据源里的省份和城市的关系列表,有一列的属性名称为“Province”,Dropdown1是我们上面2.1部分创建的省份下拉列表。大家看看效果:
3. 添加列表并进行筛选
下面我们来添加一个Gallery,用来显示项目清单,同时利用已经建立的下拉列表来进行筛选:
公式如下:Filter(HomeProjectList,ProjectCity=Dropdown1_1.Selected.City)
这里的Dropdown1_1就是我们创建的城市下拉列表。
效果如下:
4. 增加图表控件
假设我们还要显示一张图表,目的是用来显示这个城市项目的成本发生的情况,按照月份进行显示。当然,大家可以按照自己的设想去添加任何其他控件,我这里也是随便设想了一种设计方式。这一讲我就不对图表进行详细描述了,因为图表的设置需要单独一个教程来阐述。所以这里只显示效果图。大家见谅。
5. 在项目列表页面增加跳转按钮
虽然我们算是把页面设计好了,但是其实我们还缺少一个按钮,就是说如何跳转到这个页面,那其实就很简单了,我们需要回到项目清单列表,并添加一个“按区域显示”的按钮。大家直接看截图:
好了,算是大功告成了。。。
五、总结
上面我说大功告成了,其实没有。。。大家仔细想想其实还是能发现的,比方说我们在区域显示的页面没有一个按钮回到项目清单,这个其实不用我教啦,就是添加一个按钮的事。
留给大家的思考:
说是留给大家的思考,其实是我太懒了,可能膘长太多了吧!好了,拉回来!
思考:
现在的筛选只能按照城市进行筛选,假设我想按照省份筛选,就是说,当我选择“江苏省”的时候,城市的下拉列表不要直接显示城市的清单中默认的第一个选项,而是默认显示“所有”,只有当我自己对城市进行选择的时候才按照城市显示,否则就只显示“江苏省”的省份数据。这样的话,我们既可以看到省份的统计数据,也可以看到城市的统计数据。
好了,希望大家学到了今天的内容,并且对我提出的思考去稍微思索一下,我们下一讲见,谢谢大家! -
微信小程序demo:乡居网:条件筛选列表,tab菜单,谷歌统计
2021-03-15 18:56:31比较完整的demo了, 免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。 -
Android开发自定义下拉框下拉列表
2017-05-08 11:06:47自定义下拉满足需求,下拉选择框开发中难免有各种需求,近期项目中需要自定义下拉框的使用。实现效果如图,展开状态箭头向上,收起的时候箭头向下,选中状态选中条目颜色可变,可设置下拉框高度。效果如下
自定义CustomSpinner.java
public class CustomSpinner extends LinearLayout{ private View view; private TextView tv_name; private ImageView ib; //界面控件 private ImageView spinner; //构造qq号用到的集合 private List<String> list = new ArrayList<String>(); //布局加载器 //自定义适配器 private MyAdapter mAdapter; //PopupWindow private PopupWindow pop; //是否显示PopupWindow,默认不显示 private boolean isPopShow = true; private ListView listView; private LayoutInflater mInflater; private OnItemSelectedListenerSpinner onItemSelectedListener; private int heiht; private int postion = 0; public CustomSpinner(Context context) { super(context); initView(context); } public CustomSpinner(Context context, @Nullable AttributeSet attrs) { super(context, attrs); initView(context); } public CustomSpinner(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(context); } public CustomSpinner(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); initView(context); } private void initView(final Context context) { mInflater = LayoutInflater.from(context); view = mInflater.inflate(R.layout.layout_customspinner, null); mAdapter = new MyAdapter(); tv_name = (TextView) view.findViewById(R.id.et_name); ib = (ImageView) view.findViewById(R.id.spinner); tv_name.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { L.e("isshow--"+isPopShow); if (null != list){ if(pop == null){ listView = new ListView(context); listView.setCacheColorHint(0x00000000); listView.setDividerHeight(0); listView.setBackgroundColor(Color.rgb(255,255,255)); listView.setAdapter(mAdapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { postion = i; mAdapter.notifyDataSetChanged(); tv_name.setText(list.get(i)); ib.setImageResource(R.drawable.ic_arrow_drop_down_black_24dp); pop.dismiss(); isPopShow = true; CustomSpinner.this.view.setTag(getId()); onItemSelectedListener.onItemSelected(CustomSpinner.this.view,view,i,l); } }); if (heiht == 0){ int hei = setListViewHeightBasedOnChildren(listView); //这里设置下拉框的高度 if (hei >= 550){ pop = new PopupWindow(listView, CustomSpinner.this.view.getWidth(), 550, true); }else{ pop = new PopupWindow(listView, CustomSpinner.this.view.getWidth(), hei, true); } }else{ pop = new PopupWindow(listView, CustomSpinner.this.view.getWidth(),heiht, true); } pop.setBackgroundDrawable(new ColorDrawable(0x00000000)); pop.setFocusable(true); pop.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { isPopShow = true; ib.setImageResource(R.drawable.ic_arrow_drop_down_black_24dp); } }); ib.setImageResource(R.drawable.ic_arrow_drop_down_black_24dp_right); pop.showAsDropDown(view,0, 0); isPopShow = false; }else{ if(isPopShow){ ib.setImageResource(R.drawable.ic_arrow_drop_down_black_24dp_right); //向上的箭头 pop.showAsDropDown(view, 0, 0); isPopShow = false; }else{ ib.setImageResource(R.drawable.ic_arrow_drop_down_black_24dp); //向下的箭头 pop.dismiss(); isPopShow = true; } } } onClickCustom(); } }); if (list == null || list.size() == 0){ tv_name.setText(""); }else{ tv_name.setText(list.get(0)); } addView(view); } public static int setListViewHeightBasedOnChildren(ListView listView) { // 获取ListView对应的Adapter ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { return 0; } int totalHeight = 0; for (int i = 0; i < listAdapter.getCount(); i++) { // listAdapter.getCount()返回数据项的数目 View listItem = listAdapter.getView(i, null, listView); listItem.measure(0, 0); // 计算子项View 的宽高 totalHeight += listItem.getMeasuredHeight(); // 统计所有子项的总高度 } int ff = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); return ff; } public void onClickCustom(){ } public void attachDataSource(List<String> list){ this.list = list; tv_name.setText(list.get(0)); } public void setOnItemSelectedListener(OnItemSelectedListenerSpinner onItemSelectedListener){ this.onItemSelectedListener = onItemSelectedListener; Log.e("www","走了"); } public void setSpinnerHeiht(int heiht){ this.heiht = heiht; } public void setSelectedIndex(int index){ tv_name.setText(list.get(index)); onItemSelectedListener.onItemSelected(null,null,index,index); } private class MyAdapter extends BaseAdapter { @Override public int getCount() { // TODO Auto-generated method stub return list.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return list.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { View view = mInflater.inflate(R.layout.item, null); if (position == CustomSpinner.this.postion){ //选中条目的背景色 view.setBackgroundColor(Color.rgb(26,208,189)); } final TextView tv_name = (TextView) view.findViewById(R.id.tv_name); tv_name.setText(list.get(position)); //设置按钮的监听事件 view.setTag(tv_name); return view; } } @Override public void destroyDrawingCache() { if (pop != null && pop.isShowing()){ pop.dismiss(); } super.destroyDrawingCache(); } }
//布局文件layout_customspinner
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center_vertical" android:background="@color/white"> <ImageView android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="match_parent" android:src="@drawable/ic_arrow_drop_down_black_24dp" android:paddingRight="2dp" android:layout_alignParentRight="true" /> <TextView android:id="@+id/et_name" android:layout_width="match_parent" android:layout_height="match_parent" android:textColor="@color/black" android:gravity="center" android:clickable="true" android:layout_toLeftOf="@id/spinner" android:hint="数据加载中" /> </RelativeLayout>
//布局item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:gravity="center"> <TextView android:id="@+id/tv_name" android:layout_width="match_parent" android:layout_height="30dp" android:textSize="14sp" android:gravity="center" android:layout_marginRight="14dp" android:text="aaaaa" /> </LinearLayout>
-
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020-12-20 13:37:48由于最近的项目需要具有复选功能,但过多的复选框会影响界面布局和美观,因而想到把 PyQt5 的下拉列表和复选框结合起来,但在 PyQt5 中并没有这样的组件供我们使用,所以想要自己实现一个下拉复选框,主要就是继承 ... -
选择下拉列表,出现不同数据,并计算
2017-08-31 18:11:00选择其一,下边对应的单价改变,选择数量,进行计算。 //结构 <select name="type" class="form-control feeName" ... onchange="show_sub(this.options[this.options.selectedIndex].value)">... -
r语言 数据透视表功能_从工作表下拉列表中选择数据透视表功能
2020-08-05 00:14:59vba 实现数据透视表功能 从工作表下拉列表中选择数据透视表功能 (Select Pivot Table Function From Worksheet Drop Down)Last week, Chandoo interviewed me for his Online Excel VBA School, and we talked about... -
中国省市区统计表Excel模板2019.xls
2020-05-25 19:44:052019全中国省市县名称列表只包含名称,不包含行政区代码,不含代码,不包含街道名称。excel表格格式 -
Android各种列表控件上拉下拉刷新数据
2012-06-24 00:38:13Android各种列表控件(ListView(返回顶部)、gridView、expandView、webView、scrollView)上拉下拉刷新 -
图片、表单、下拉选项
2021-06-10 17:32:17novalidate 规定在提交表单时不应该验证 form 或 input 域 下拉选项 文盲小学中学大学研究生 定义选择列表(下拉列表)name 必须有multiple 多选,默认会显示所有,名字要使用数组like[]disabled禁用size 显示几个... -
Excel调用已有数据利用已经录入的项快速的生成下拉列表
2017-09-19 09:26:47通过Excel的数据有效性功能建立下拉列表可以快速录入一些反复出现的项,另外还有一种方法利用已经录入的项,更快地生成下拉列表,以便我们使用,下面通过一个实例为大家介绍下具体的操作。大概步骤就是首先定位到... -
小猫统计现在可以实现用表格编辑从表时,用下拉列表(即lookup字段)
2016-07-25 15:39:03通过在字段设置界面设置列表索引值: 在从表编辑表格中,可以实现下拉列表: -
用小猫统计制作运动员评价管理系统:设置部分字段编辑方式,如下拉列表
2016-05-03 17:06:26目前支持的输入形式:编辑框,下拉列表,图片,多行文本。 -
Excel下拉列表框中添加筛选信息
2013-10-30 14:42:00首先用鼠标左键点击你要添加下拉列表的单元格。 2 鼠标左键点击菜单栏上的“数据”。 3 然后鼠标左键点击菜单栏上的... -
用小猫统计制作运动员评价管理系统:导入下拉列表内容(固定值列表)
2016-04-26 21:57:34我临时给下拉列表内容取的名字叫:固定值,可能不准确,不知道应该叫什么。在小猫程序里面有个工具,可以手工编辑下拉列表的内容,但是太慢了。还是用excel直接导入比较快 。 -
下拉列表组合折线图,这样的Excel动态图表,你会吗?
2021-01-20 16:20:19说到下拉列表与折线图组合使用,不知道你有没有想到这适合什么场景呢?其实使用场景很多,比如我们记录了一个班级同学去年每次的月考成绩,现在我们来分析每个学生去年学习成绩变化趋势,然后针对性的制定学习计划。... -
webix数据表格锁列-翻页-统计示列
2017-10-30 23:34:57本文用简单示例,说明webix如何快速实现数据表的锁列,锁标题行,翻页,数据统计,排序,这些功能只需要配置实现,不需要写代码。 本文提供所有运行的源代码,可以导入到MyEclipse中即刻运行。 -
PyQt5—基本窗口控件之下拉列表框和计数器
2019-08-13 09:15:57QComboBox 是一个集按钮和下拉选项于一体的控件,称之为下拉列表框。 QSpinBox 是计数器控件,允许用户输入一个整数值或者通过单击向上/向下按钮或键盘上的上/下箭头调整当前显示的值。 -
「EXCEL下拉菜单中的高手」模糊匹配,自动查找,筛选下拉,绝了
2021-01-12 07:07:53今日帮朋友做了一个案例,其中一个知识点,就是模糊查找自动匹配下拉菜单在这个朋友人美、心善、开朗、乐观,在此祝福她永远年轻漂亮现在讲这个功能,做了一份详细的教程,希望能帮到大家,让她也学会效果:如果不... -
elementui 搜索统计列表页
2021-04-02 16:26:27多条件搜索(下拉列表,输入框,时间区间) 清空搜索条件 分页 左侧树搜索条件 树默认选中第一个 <template> <el-row style="padding: 0 !important"> <el-col :span="5"> <dtLine @line-... -
中尉:MtG EDHCommander统计显示应用程序
2021-02-09 18:16:49由于下拉列表使用一组预定义的值,因此使用了EDH-legal卡的名称来填充此列表。 提取程序本身并未提供太多过滤功能(7/17/20-否,我只是盲目的),因此我将Commander-legal卡数据下载为.xml文件,并使用了regexp查找... -
表格设置下拉多个选项
2021-06-12 05:29:54◆◆◆Excel表格如何实现二级下拉菜单的联动黑马说:有时候我们需要为表格做下拉菜单,一级的下拉菜单你可能直接用数据验证或者数据有效性就可以实现,那今天黑马要教给大家的是有关二级菜单的联动,Office达人可要... -
antd design Menu菜单下拉回调以及下拉列表时只能显示一个列表,其余关闭
2018-09-05 17:59:28这个下拉列表是三层嵌套的下拉列表,统计列表不能同时打开,一次只能点开一个。点击下拉时触发函数获得下一层级的下拉数据。 代码如下: `render(){“ let city=this.state.cityList.map(itemss=&gt;... -
weighted-bracket-picker:使用加权统计信息的三月疯狂支架选择器
2021-05-01 10:22:58统计信息及其幻灯片列表是根据CSV文件动态生成的 不同的年份有不同数量的参与游戏。 该工具能够根据具有相同种子的团队数量来解决这一问题。 待办事项清单 提出更好的支架视觉表现形式(画布?reactjs?) 将其... -
统计图制作_ai的环形统计图怎么制作
2021-06-24 01:27:27怎样用电脑制作条形统计图和柱形统计图用电脑制作条形统计图和柱形统计图,可通过EXCEL表格实现。方法步骤如下:1、打开EXCEL表格,输入需要制作图表的相关数据,然后选中相关数据,点击插入选项卡中“柱形图”,并... -
简洁、巧妙、高效的长列表,无限下拉方案
2020-04-29 11:33:02本文主旨长列表渲染、无限下拉也算是前端开发老生常谈的问题之一了,本文将介绍一种简洁、巧妙、高效的方式来实现。话不多说,看下图,也许你可以发现什么?不知你是否从上面这张图中注意到了什么,比...