导致事件的最深嵌套元素是事件的目标。你可以通过event.stopPropagation停止冒泡
书上有个试一试,要求:利用委托,达到一个主窗体统计多个从窗体的按钮单击的次数。...20 //委托变量recorder 21 public ShowInfo recorder; 22 private static int counter = 0;//计数器,使用static可以多个从窗体点击计数... recorder(counter.ToString()); 29 } 30 } 31 } 32 } 之后,我想进一步修改,在一个主窗体上单击按钮...,多个从窗体同时显示单击的次数。...只是对上面的代码修改了一下,在从窗体初始化后,向主窗体的委托变量赋值时,出现了错误。请大家指教,谢谢。
class NewPostForm(FlaskForm): title = StringField('Title', validators=[DataRequ...
通过上一节的学习,了解到如何在amis表单中发送网络请求,本文继续处理一种场景: 一个表单中有多个按钮,点击不同按钮时,可以触发不同的网络请求 回想一下,在之前的表单配置中,发送请求需要用到api配置参数...,如下 当给表单上不同按钮都配置网络请求时,也需要用到api参数,不过需要把它配置到对应的按钮上,如下 { "type": "wrapper...表示该按钮是一个行为按钮, 点击可以提交请求", "type": "submit",...] }] } 代码说明 在 actions 组件中添加多个按钮...; 在每个按钮中添加api属性,配置对应的请求参数、请求url等; 当"type": "submit"时,此时意味着这个按钮是可以触发表单提交行为; 当"type": "button"时,需要再配置 "
但当我们的php项目有多个入口文件时,(假如有index.php, admin.php, app.php, api.php 四个入口文件),在不处理的状态下,url会呈现出这般景象: www.example.com...-e $request_filename) { ### 当项目有多个入口文件时
应用场景如下: 举一个例子,大家知道qt自带的点击信号是无参的,有也只是bool类型,比如我要实现上图逻辑,因为从信号的传回的参数无法让我确定是哪一个按钮按了下去,我是不是应该去定义5个槽函数,并且让这五个按钮的信号分别绑定这五个槽函数...SLOT(getText5())); //然后再去实现getText1,getText2,getText3,getText4,getText5 其实五个槽函数里面的业务逻辑,只是输出对于的人名,可以说是一个业务逻辑...主要的矛盾就在于我们无非是想让槽函数有一个参数,用来辨别是哪一个按钮被点击了,但是按钮自带的信号没有这个参数,就算我们强行给槽函数搞一个参数,信号也不会给我们这个参数,并且也不会成功编译,qt的槽信号机制...那么有没有一个能充当中间人的角色呢?有 QSignalMapper这个类可以帮我们做到,它将来自于一些有标识的发送者的signal连接在一起。...QSignalMapper类的槽函数,不需要我们定义 myMapper->setMapping(button[i], i);//这个i就是我们传给槽函数的值,可以是字符串,其他等等,判断五个按钮
对于具有文本或数字值的属性,单击右列,然后输入或编辑该属性值。 对于更复杂的属性,右列会显示一个带有省略号(...)的按钮。单击该按钮可显示属性的对话框。...有30多个窗体属性,其中一些不经常使用。记住,可以使用“属性”窗口来设置所有属性,还可以在VBA代码中读取和设置(只读属性除外)。...注意,仅当StartUpPosition属性设置为Manual时,Top和Left属性才会影响窗体的初始位置。然而,显示窗体后,更改代码中的这些属性将移动窗体。 ?...该代码放置在事件过程中,并在用户执行某些操作时自动执行(在这种情况下,单击命令按钮时)。稍后你将了解有关事件和事件过程的更多信息。现在,按照指示完成演示项目。...一个VBA工程可以包含所需的任意多个用户窗体。 窗体和控件具有指定其外观和行为的属性。 VBA编辑器提供了一个视觉设计工具,使你可以创建用户窗体的视觉界面。
图16 此时,会在功能区中添加带有一个组的自定义选项卡。选择该选项卡,单击“重命名”按钮,修改默认的名称,如下图17所示。...图18 单击“确定”,这样就在Excel功能区中添加了一个名为“我的宏代码”的自定义选项卡,带有一个“新建组”,里面是与要运行的宏关联的命令按钮,如下图19所示。...图20 方法10:从VBE工具栏中运行VBA 在VBE中,首先将光标置于要运行的过程代码中,然后单击顶部调试工具栏中的“运行——运行子过程/用户窗体”按钮,如下图21所示。...图22 这段代码在工作表Sheet1代码模块中,当工作表Sheet1中的单元格A1发生变化会自动调用testVBA过程。 方法14:从超链接中运行VBA 单击超链接时触发宏运行,如下图23所示。...方法15:从工作簿事件中调用VBA过程 基于工作簿事件,例如打开或关闭工作簿时自动运行宏。如下图24所示。 图24 你还知道有什么运行Excel VBA的方法吗?
接着,在Excel中按Alt+F11组合键,打开VBA编辑器。 在VBA编辑器中,单击菜单“工具->引用”,找到并选取“xlwings”前的复选框,如下图10所示,然后单击“确定”按钮。...图10 接下来,单击“插入——模块”,插入一个标准模块。在右侧的代码窗口,输入以下VBA代码。...接下来,保存VBA代码,现在我们要在Excel工作表中创建一个按钮。返回Excel界面,在“开发工具”选项卡,单击“插入->按钮”,并指定刚创建的宏Rand_10。...图12 注意到,当键入函数时,square实际上会显示在函数列表中——我们可以像使用Excel内置函数一样使用Python函数,并且可以将单元格引用传递到函数中。...有时,当打开多个Excel工作表时,我们可能会无意中将此更改应用于另一个文件。 注:本文学习整理自pythoninoffice.com。
其实笔者本身也只是大概10年前,对Excel的宏命令以及VBA(Visual Basic for Applications)有一些接触,其实也可以归做菜鸟一类。...使用Excel VBA进行编程,十有八九是用在工作上,为了提高工作效率用的。Excel本身其实也是一种办公工具。当然,也存在一些大神,能够用VBA做出赛车游戏或俄罗斯方块的。但毕竟是极少数的。...打开包含宏的Excel文件时,可能会显示如下安全警告(图5) 图5 单击[启用内容]按钮后,消息条就消失了。(图6)。...图7 如图设置完毕后,打开包含宏的工作簿时宏是被禁用的;如果确认宏的安全性没有问题,用上面图5图6的方法再启用宏就可以了。 举例创建一个最简单Excel宏 现在我们尝试着创建一个具体的宏出来。...下面我们追加一个[删除宏]的按钮。 在[开发工具]选项卡下,单击[录制宏]按钮,「宏名称」处输入「删除」,然后再在「说明」处输入「删除拷贝粘贴的数据」,最后单击[确定]按钮。
这里的自定义命令是指程序员自已编写的VBA过程。 添加按钮 如果要在内置功能区选项卡中添加两个按钮,在单击这些按钮时会调用VBA过程,那么执行下面的步骤: 1....按钮元素: 其imageMso属性为按钮指定预定义的图像。如果要使用自已设计的图像,只需使用image属性替换掉imageMso属性。 onAction属性是一个回调属性。...该属性的值是在单击按钮时要执行的VBA过程的名称。 5. 单击工具栏中的Validation按钮来检查是否有错误。 6. 单击Generate Callbacks按钮。...插入一个标准VBA模块并粘贴刚才复制的回调代码。 11....在Insert0回调过程中的参数control有3个属性: ID:在XML代码中指定的控件的id。 Context:包含该功能区的活动窗口。
拆分按钮控件是一个含有单击按钮和下拉按钮列表的组合控件。用户可以选择单击按钮,或者从下拉列表中选择单击其中一个按钮来执行相应的命令。...添加拆分按钮控件的步骤与本系列前面文章(参见:VBA专题10-10:使用VBA操控Excel界面之在功能区中添加自定义切换按钮控件、VBA专题10-9:使用VBA操控Excel界面之在功能区中添加自定义按钮控件...)中的步骤相同,新建一个启用宏的工作簿并保存,关闭该工作簿,然后在CustomUI Editor中打开该工作簿,输入下面的XML代码: ?...,会根据按钮的不同显示不同的消息框,如图2所示为单击按钮Button1时显示的消息框。...注意,由于我们将Button1和menuButton1定义了相同的tag属性,因此单击拆分按钮中的单个按钮和菜单中的第一个按钮时都会弹出如图2所示的消息框。 ?
标签:VBA 本文整理归纳了用来运行Excel VBA的15种方法。 方法1:从开发工具选项卡中运行VBA 单击功能区“开发工具”选项卡“代码”组中的“宏”,如下图1所示。...图1 在弹出的“宏”对话框中,选择要运行的宏名,单击“执行”按钮,如下图2所示。 图2 方法2:从视图选项卡中运行VBA 单击功能区“视图”选项卡“宏”组中的“宏”,如下图3所示。...图5 如果要使用大写字母,则在输入快捷键字母时按住Shift键,如下图6所示。...图7 在工作表适当位置绘制一个按钮,会弹出“指定宏”对话框,在宏名列表中选择要指定的宏,单击“确定”按钮,如下图8所示。...图8 此时,工作表中就有了一个和宏关联的按钮,我们可以修改其显示文本更友好,右键单击按钮,在快捷菜单中选择“编辑文字”,如图9所示。 图9 下图10为最终的按钮效果,此时单击按钮将运行关联的宏。
可以在excel的【功能区】中找到它们 表单控件 控件名称 控件说明 按钮 用于执行宏命令 组合框 提供可选择的多个选项,用户可以选择其中一个项目 复选框 用于选择的控件,可以多项选择 数值调节按钮 通过单击控件的箭头来选择数值...列表框 显示多个选项的列表,用户可以从中选择一个选项 选项按钮 用于选择的控件,通常几个选项按钮用组合框组合在一起使用,在一组中只能同时选择一个选项按钮 分组框 用于组合其他多个控件 标签 用于输入和显示静态文本...【确定】按钮时 vbCancel 2 单击【取消】按钮时 vbAbort 3 单击【终止】按钮时 vbRetry 4 单击【重试】按钮时 vbIgnore 5 单击【忽略】按钮时 vbYes 6 单击【...是】按钮时 vbNo 7 单击【否】按钮时 Sub msgbut() Dim yn As Integer yn = MsgBox("你确定要在A1单元格输入今天的日期吗?"...,显示窗体时,当按下对应的快捷键就等于在窗体中用鼠标单击了该按钮。
标签:VBA,用户窗体 这是一个很好的示例,充分展示了VBA和用户窗体控件编程技术。 示例中有一个数据工作表Sheet1,包含有一个列表,每一行的单元格中都有很多用逗号分隔的数据,如下图1所示。...(2)在搜索框中输入内容时,会随着输入自动缩减左侧列表框中的内容。 (3)选择左侧列表框中的项后,单击“添加”按钮,将其移至右侧列表框。...(4)单击“执行”会进行筛选操作,并在工作表Sheet1中显示结果。 (5)选择右侧列表框中的项目,单击“移除”按钮,该项目会自动移至左侧列表框。...(6)单击“筛选重置”按钮会重置列表框数据和工作表筛选。 (7)“全选/取消全选”的选取状态会相应全部选取或取消全部选项相应列表框中的项。...(8)“选择类型”中,选中“选择多项”,则可以在列表框中选择多个项目;选中“选项一项或者按下Shift或Ctrl键选择多项”,则只能选择列表框中的一个项目,要选择多个项目,要按下Shift键或者Ctrl
本文的代码整理自exceloffthegrid.com,供有兴趣的朋友参考。...VBA解决方案:用户窗体包含一个对象,单击该对象时会记录鼠标的位置;随着鼠标的移动,用户窗体及其对象将根据新的鼠标位置重新定位或调整大小;当释放鼠标按钮时,停止移动以调整大小。...图1 其中,放置了三个元素:一个名为lstListBox的列表框,一个名为cmdClose的命令按钮,一个名为lblResizer的标签。...lblResizer图标时触发,记录了单击图标及当时鼠标的位置。...resizeEnabled = True '捕获单击时鼠标位置 mouseX = X mouseY = Y End Sub 下面的代码在鼠标移动到lblResizer标签图标上时触发。
getLabel是一个回调属性,赋值VBA过程的名称,本例中为getLabel1回调过程。该过程在首次打开该工作簿时或者在使该控件无效时执行。...元素可能有多个回调属性。一旦使某元素无效,任何与该元素相关的数据就被销毁,并且通过调用所有的在XML代码中声明的该元素的回调属性引用的VBA过程来自动刷新该元素。...单击工具栏中的Validation按钮来检查是否有错误。 6. 单击Generate Callbacks按钮。...因为是第一次在Excel中打开该文件,会得到关于getLabel1的错误消息的提示,因为在标准的VBA模块中还没有getLabel1回调过程。此时,单击“确定”关闭错误消息。 9....插入一个标准VBA模块并粘贴刚才复制的回调代码。 11.
“编辑”按钮打开VBE编辑器 VBE编辑器窗口简介 刚打开VBE编辑器时,所显示的窗口如图00-06所示,其中没有代码模块窗口。...选择VBE菜单“插入——用户窗体”,即可插入一个用户窗体。当插入用户窗体后,在“工程资源管理器”窗口中会出现一个用户窗体对象,“工程属性”窗口显示当前用户窗体的属性,可对相关属性进行设置或修改。...调试VBA代码 在VBE编辑器的菜单中,有两项与调试运行有关的菜单项,即“调试”菜单和“运行”菜单,它们提供了各种调试和运行的手段。在我现阶段进行代码调试时,常用到的有以下几个: ■ 逐语句。...在可能存在问题的语句处设置断点(可通过在相应代码前的空白部位单击,将会出现一个深红色的椭圆即断点),当程序运行至断点处时,会中止运行。...(当然,对程序代码的调试有很多方法和技巧,留待以后对VBA进一步研究和理解更透彻后一并讨论。) 利用VBA帮助系统 如果遇到疑问或错误,可以利用Excel自带的VBA帮助系统。
excelperfect Q:我有一个工作表,在单元格B1中输入有数值,我想根据这个数值动态隐藏行2至行100。...具体地说,就是在工作表中放置一个命令按钮,如果单元格B1中的数值是10时,当我单击这个命令按钮时,会显示前10行,即第2行至第11行;再次单击该按钮后,隐藏全部的行,即第2行至第100行;再单击该按钮,...则又会显示第2行至第11行,又单击该按钮,隐藏第2行至第100行……也就是说,通过单击该按钮,重复显示第2行至第11行与隐藏第2行至第100行的操作。...EntireRow.Hidden = False Application.Goto Range("A1"), True b =False End If End Sub 在工作表中放置一个命令按钮...,然后将该按钮的单击事件关联上述VBA程序,例如: Private Sub cmdButton_Click() HideUnhide End Sub 完成!
标签:VBA,列表框,用户界面 有时候,可能你想自动选择列表框中的第一项或者最后一项。例如,当选择列表框所在的工作表时,列表框自动选择第一项,或者选择最后一项。这都可以使用简单的VBA代码轻易实现。...ListIndex = i Next i End Sub Private Sub Worksheet_Activate() CommandButton1_Click End Sub 第一个过程在单击命令按钮后选择列表框中的第一项...,第二个过程在单击命令按钮后选择列表框中的最后一项。...而Activate事件,当该工作表成为当前工作表时,自动执行相应的过程,从而选择列表框中的第一项。 这些过程是如何工作的呢?它们是在计算列表框中所有列表项数的前提下工作的。...注:有兴趣的朋友可以到知识星球App完美Excel社群下载示例工作簿。
领取专属 10元无门槛券
手把手带您无忧上云