GVKun编程网logo

动态更改 numpy 数组大小(numpy数组修改)

4

针对动态更改numpy数组大小和numpy数组修改这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展AdobeAIRFlex:动态更改VGroup的宽度、Angular10动态更改DOM元素、

针对动态更改 numpy 数组大小numpy数组修改这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展Adobe AIR Flex:动态更改 VGroup 的宽度、Angular 10 动态更改 DOM 元素、AvalonDock:动态更改 LayoutAnchorablePane 的 CanClose 属性、Extjs4 动态更改 Store 里面的内容等相关知识,希望可以帮助到你。

本文目录一览:

动态更改 numpy 数组大小(numpy数组修改)

动态更改 numpy 数组大小(numpy数组修改)

如何解决动态更改 numpy 数组大小

我有一个 numpy 数组,它从空开始,在循环过程中应该接收一些条目,但我不知道在执行之前会有多少条目。

我尝试了不同的方法以取得不同的成功,目前我的代码如下所示:

pi = np.empty((0))

for...
    if...
        np.concatenate([pi,np.array([0])]) # supposed to ad a new column with entry ''0''

然而 print(pi) 返回 []

我怀疑我对 numpy 的有限了解可能是罪魁祸首,尽管我无法发现任何明显的错误。

此外,由于我需要在循环中处理数组中的值,不幸的是,我不能等待它的初始化,直到循环

解决方法

您没有将新数组分配给 pi。

pi = np.empty((0))

for...
    if...
        pi = np.concatenate([pi,np.array([0])])

Adobe AIR Flex:动态更改 VGroup 的宽度

Adobe AIR Flex:动态更改 VGroup 的宽度

如何解决Adobe AIR Flex:动态更改 VGroup 的宽度

我们有一个 Adob​​e AIR 桌面应用程序。在窗口中有一个带有一些按钮的顶栏。中央按钮总是在屏幕的水平中心打开一个下拉弹出窗口。以前没有滚动条,顶栏和弹出窗口总是水平对齐。但是现在我们引入了水平和垂直滚动条,因此当调整窗口大小时,顶部栏不在活动窗口的中心,因此它没有与弹出窗口对齐。

请检查图片。顶栏 -

enter image description here

弹出窗口 -

enter image description here

如果窗口在水平侧最大化,则顶部栏和弹出窗口对齐。

现在是mxml代码-

  1. public function showMainMenu():void
  2. {
  3. log.debug("Menu button clicked.");
  4. if(animatingMenu)
  5. {
  6. log.debug("Suppressing showing of menu. Animation already in progress.");
  7. return;
  8. }
  9. animatingMenu = true;
  10. menuButton.visible = true;
  11. mainMenu.visible = true;
  12. PopUpManager.addPopUp(mainMenu,FlexGlobals.topLevelApplication as displayObject,true);
  13. PopUpManager.centerPopUp(mainMenu);
  14. mainMenu.y = -mainMenu.height + menuButton.height;
  15. mainMenu.refresh();
  16. showMenuEffect.play();
  17. menuButton.visible = false;
  18. }
  19. <fx:Declarations>
  20. <menu:MainMenu id="mainMenu"/>
  21. <s:Move id="showMenuEffect" target="{mainMenu}" yFrom="{-mainMenu.height+menuButton.height}" yTo="-5" effectEnd="menuShowed(event)" duration="1200"/>
  22. <s:Move id="hideMenuEffect" target="{mainMenu}" yFrom="-5" yTo="{-mainMenu.height+menuButton.height}" effectEnd="menuHided(event)" duration="600"/>
  23. </fx:Declarations>
  24. <s:HGroup width="100%">
  25. <s:VGroup horizontalAlign="center" width="100%" paddingLeft="{this.width / 2 - menuButton.width / 2}">
  26. <s:Button id="menuButton" automationName="menuButtonShow" click="showMainMenu()" styleName="mainMenuButton" height="40" width="200"/>
  27. </s:VGroup>
  28. <s:HGroup horizontalAlign="right" width="100%" paddingRight="48" paddingTop="10">
  29. <desktop:LocaleSelector id="localeSelector"/>
  30. <desktop:ButtonCorner id="buttonCorner"/>
  31. </s:HGroup>
  32. <s:VGroup paddingRight="24" paddingTop="25" horizontalAlign="right">
  33. <s:Button id="closeScreenButton" visible="false" styleName="closeScreenButton" width="29" height="35"/>
  34. </s:VGroup>
  35. </s:HGroup>

应该改变什么?我如何始终将顶栏定位在屏幕的中心。我应该创建 css 文件来处理这种情况吗?

解决方法

这是默认行为。当你显示一个弹出窗口时,你告诉它在 .y 和 .x 中的位置。当您滚动或调整大小时,您有效地更改了窗口的“中心”,但您从未通知它它已更改。

我会尝试添加一个监听器来调整窗口大小并onChange重新居中弹出窗口。

示例代码(未经测试但应该可以使用):

  1. var widthWatch:ChangeWatcher = ChangeWatcher.watch(this,''widht'',resizeHandler);
  2. private var resizeExecuting:Boolean = false;
  3. //this should run as soon as your app does (in most cases I do that in creationComplete or initialize())
  4. private function onCreationComplete(event:Event):void
  5. {
  6. widthWatch = ChangeWatcher.watch(this,''width'',onSizeChange);
  7. }
  8. //this checks if the resize stopped before actually moving the popup. Alternatively you can move your popup.center code here
  9. private function onSizeChange(event:Event):void
  10. {
  11. if(!resizeExecuting)
  12. callLater(handleResize);
  13. resizeExecuting = true;
  14. }
  15. private function handleResize():void
  16. {
  17. PopUpManager.centerPopUp(mainMenu);
  18. resizeExecuting = false;
  19. }

Angular 10 动态更改 DOM 元素

Angular 10 动态更改 DOM 元素

如何解决Angular 10 动态更改 DOM 元素

最初,我使用一个包含 3 个图像和一个按钮的小框(Div 元素)呈现页面。 页面呈现后,我调用一个动作,它会执行某些操作,此时我想动态更改 2 个图像,添加画布以绘制图形并将按钮标题添加到其他内容?这一切都在同一个组件上。这在 Angular 中可能吗?我尝试如下使用changeDetection。用户界面不会改变。

@ViewChild(''someid'') someDiv : ElementRef;
isApproved: false;

method1() {
  ...does some logic...
}

method2(){
isApproved = true;
..get the nativeelement and drawimage...
}

AvalonDock:动态更改 LayoutAnchorablePane 的 CanClose 属性

AvalonDock:动态更改 LayoutAnchorablePane 的 CanClose 属性

如何解决AvalonDock:动态更改 LayoutAnchorablePane 的 CanClose 属性

在 AvalonDock 中,是否可以在运行时动态修改 LayoutAnchorablePaneCanClose 属性?我想阻止/锁定布局更改,除非用户特别希望这样做并打开它。

我尝试了以下方法:

  1. 绑定:无法绑定该属性,因为它不是 DependencyProperty 所以类似这样的事情不起作用:<dock:LayoutAnchorable CanClose="{Binding CanClose}">
  2. CanClose 属性:无法在代码隐藏中更改 LayoutAnchorablePaneCanClose 属性,因为该属性是只读的。

解决方法

根据LayoutAnchorablePane的源代码:

#region CanClose

public bool CanClose
{
  get
  {
    return Children.All( a => a.CanClose );
  }
}

#endregion

CanClose 属性取决于窗格的所有子项,因此更改 CanCloseLayoutAnchorablePane 值的一种方法是设置其所有子项的 CanClose 属性到你想要的值。下面是一个例子:

...
foreach(var child in pane.Children)
{
    child.CanClose = true; // or false.
}
...

Extjs4 动态更改 Store 里面的内容

Extjs4 动态更改 Store 里面的内容

目标:通过选择页面不同的 radio, 动态更新 combobox 里面的下了表单的内容。

最终效果:

1. 没有选择前:

2. 选择列表 2 后

具体代码实现:


Ext.require(''Ext.*'');
Ext.onReady(function(){
	//1.实体M
	Ext.define(''State'',{
		extend : ''Ext.data.Model'',
		fields   : [
		            {type:''int'',name:''id''},
		            {type:''string'',name:''cname''}
		]
	});
	//内存中的数据D
	var localData1 = [
	        {''id'':1,''cname'':''广东省''},
	        {''id'':2,''cname'':''湖北省''},
	        {''id'':3,''cname'':''湖南省''},
	        {''id'':4,''cname'':''海南省''},
	        {''id'':5,''cname'':''青海省''}
	 ];
	
	//2.定义store,这里区分是内存中的还是远程服务器的
	//2.1 内存中的
	var localStore = Ext.create(''Ext.data.Store'',{
		model:State,
		data : localData1
	});
	
	//定义radioGroup
	var raidos = Ext.create(''Ext.form.RadioGroup'',{
		itemId:''raidos'',
		id :''raidos'',
		name :''raidos'',
		fieldLabel: ''选择进行改变'',
        columns: 2,
        vertical: true,
        items: [
            { boxLabel: ''列表1'', name: ''rb'', inputValue: ''1'',checked: true},
            { boxLabel: ''列表2'', name: ''rb'', inputValue: ''2'',listeners:{change:onChangeRadio} }
        ]
	});
	
	//定义combo
	var localCombo = Ext.create(''Ext.form.field.ComboBox'',{
		itemId:''local-combo'',
		id :''local-combo'',
		name :''local-combo'',
		fieldLabel :''请选择省'',
		displayField:''cname'',
		valueField:''id'',
		store:localStore,
		queryMode:''local'',
        forceSelection: true,
        allowBlank:false,
        editable: true,
        emptyText:''请选择省'',
        blankText : ''请选择省''
	});
	
	//定义显示的容器
	var dataPanel = Ext.create(''Ext.panel.Panel'',{
		renderTo : document.body,
		width : 400,
		height :300,
		title : ''Combo box 的简单使用,这里分别用基于内存和基于服务器的实现'',
		plain :true,
		margin:''30 10 0 80'',
	    bodyStyle: "padding: 45px 15px 15px 15px;",
	    defaults :{
	        autoScroll: true,
	        bodyPadding: 10
	    },
	    items:[
	           raidos,
	           localCombo
	    ]
	});
	
	//事件监听
	function onChangeRadio(field,value,oldValue){
		if(value){
			localCombo.store.removeAt(4);
		}else{
			localCombo.store.insert(4,[{''id'':5,''cname'':''青海省''}]);
		}
	}
});
Extjs 的代码比较长,关键在事件监听上面:



{ boxLabel: ''列表1'', name: ''rb'', inputValue: ''1'',checked: true},
 { boxLabel: ''列表2'', name: ''rb'', inputValue: ''2'',listeners:{change:onChangeRadio}
这里的事件监听不能放在默认选中的 radio 上面,否则这边事件监听的时候,虽然你对 store 进行了删除元素的操作,当时实际上,第一次点击的时候,这个功能是不能生效的。具体的原因还在查。



function onChangeRadio(field,value,oldValue){
	if(value){
		localCombo.store.removeAt(4);
	}else{
		localCombo.store.insert(4,[{''id'':5,''cname'':''青海省''}]);
	}
}
事件监听这里比较简单,当radio选中的时候,这里的值就是true,进行相应的操作即可。


我们今天的关于动态更改 numpy 数组大小numpy数组修改的分享就到这里,谢谢您的阅读,如果想了解更多关于Adobe AIR Flex:动态更改 VGroup 的宽度、Angular 10 动态更改 DOM 元素、AvalonDock:动态更改 LayoutAnchorablePane 的 CanClose 属性、Extjs4 动态更改 Store 里面的内容的相关信息,可以在本站进行搜索。

本文标签:

上一篇转换类型化的 numpy (rec) 数组(numpy数据类型转换)

下一篇如何在 Swift 中进行签名的 API 调用(swift api文档)