针对动态更改numpy数组大小和numpy数组修改这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展AdobeAIRFlex:动态更改VGroup的宽度、Angular10动态更改DOM元素、
针对动态更改 numpy 数组大小和numpy数组修改这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展Adobe AIR Flex:动态更改 VGroup 的宽度、Angular 10 动态更改 DOM 元素、AvalonDock:动态更改 LayoutAnchorablePane 的 CanClose 属性、Extjs4 动态更改 Store 里面的内容等相关知识,希望可以帮助到你。
本文目录一览:- 动态更改 numpy 数组大小(numpy数组修改)
- Adobe AIR Flex:动态更改 VGroup 的宽度
- Angular 10 动态更改 DOM 元素
- AvalonDock:动态更改 LayoutAnchorablePane 的 CanClose 属性
- Extjs4 动态更改 Store 里面的内容
动态更改 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 桌面应用程序。在窗口中有一个带有一些按钮的顶栏。中央按钮总是在屏幕的水平中心打开一个下拉弹出窗口。以前没有滚动条,顶栏和弹出窗口总是水平对齐。但是现在我们引入了水平和垂直滚动条,因此当调整窗口大小时,顶部栏不在活动窗口的中心,因此它没有与弹出窗口对齐。
请检查图片。顶栏 -
弹出窗口 -
如果窗口在水平侧最大化,则顶部栏和弹出窗口对齐。
现在是mxml代码-
public function showMainMenu():void
{
log.debug("Menu button clicked.");
if(animatingMenu)
{
log.debug("Suppressing showing of menu. Animation already in progress.");
return;
}
animatingMenu = true;
menuButton.visible = true;
mainMenu.visible = true;
PopUpManager.addPopUp(mainMenu,FlexGlobals.topLevelApplication as displayObject,true);
PopUpManager.centerPopUp(mainMenu);
mainMenu.y = -mainMenu.height + menuButton.height;
mainMenu.refresh();
showMenuEffect.play();
menuButton.visible = false;
}
<fx:Declarations>
<menu:MainMenu id="mainMenu"/>
<s:Move id="showMenuEffect" target="{mainMenu}" yFrom="{-mainMenu.height+menuButton.height}" yTo="-5" effectEnd="menuShowed(event)" duration="1200"/>
<s:Move id="hideMenuEffect" target="{mainMenu}" yFrom="-5" yTo="{-mainMenu.height+menuButton.height}" effectEnd="menuHided(event)" duration="600"/>
</fx:Declarations>
<s:HGroup width="100%">
<s:VGroup horizontalAlign="center" width="100%" paddingLeft="{this.width / 2 - menuButton.width / 2}">
<s:Button id="menuButton" automationName="menuButtonShow" click="showMainMenu()" styleName="mainMenuButton" height="40" width="200"/>
</s:VGroup>
<s:HGroup horizontalAlign="right" width="100%" paddingRight="48" paddingTop="10">
<desktop:LocaleSelector id="localeSelector"/>
<desktop:ButtonCorner id="buttonCorner"/>
</s:HGroup>
<s:VGroup paddingRight="24" paddingTop="25" horizontalAlign="right">
<s:Button id="closeScreenButton" visible="false" styleName="closeScreenButton" width="29" height="35"/>
</s:VGroup>
</s:HGroup>
应该改变什么?我如何始终将顶栏定位在屏幕的中心。我应该创建 css 文件来处理这种情况吗?
解决方法
这是默认行为。当你显示一个弹出窗口时,你告诉它在 .y 和 .x 中的位置。当您滚动或调整大小时,您有效地更改了窗口的“中心”,但您从未通知它它已更改。
我会尝试添加一个监听器来调整窗口大小并onChange
重新居中弹出窗口。
示例代码(未经测试但应该可以使用):
var widthWatch:ChangeWatcher = ChangeWatcher.watch(this,''widht'',resizeHandler);
private var resizeExecuting:Boolean = false;
//this should run as soon as your app does (in most cases I do that in creationComplete or initialize())
private function onCreationComplete(event:Event):void
{
widthWatch = ChangeWatcher.watch(this,''width'',onSizeChange);
}
//this checks if the resize stopped before actually moving the popup. Alternatively you can move your popup.center code here
private function onSizeChange(event:Event):void
{
if(!resizeExecuting)
callLater(handleResize);
resizeExecuting = true;
}
private function handleResize():void
{
PopUpManager.centerPopUp(mainMenu);
resizeExecuting = false;
}
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
属性?我想阻止/锁定布局更改,除非用户特别希望这样做并打开它。
我尝试了以下方法:
- 绑定:无法绑定该属性,因为它不是
DependencyProperty
所以类似这样的事情不起作用:<dock:LayoutAnchorable CanClose="{Binding CanClose}">
CanClose
属性:无法在代码隐藏中更改LayoutAnchorablePane
的CanClose
属性,因为该属性是只读的。
解决方法
根据LayoutAnchorablePane
的源代码:
#region CanClose
public bool CanClose
{
get
{
return Children.All( a => a.CanClose );
}
}
#endregion
CanClose
属性取决于窗格的所有子项,因此更改 CanClose
的 LayoutAnchorablePane
值的一种方法是设置其所有子项的 CanClose
属性到你想要的值。下面是一个例子:
...
foreach(var child in pane.Children)
{
child.CanClose = true; // or false.
}
...
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 里面的内容的相关信息,可以在本站进行搜索。
本文标签: