‘壹’ python怎么把列表中的元素插入到treeview
列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。
排序,数字、字符串按照ASCII,中文按照unicode从小到大排序
如果需要一个排序好的副本,同时保持原有列表不变,怎么实现呢?
注意:y = x[:] 通过分片操作将列表x的元素全部拷贝给y,如果简单的把x赋值给y:y = x,y和x还是指向同一个列表,并没有产生新的副本。
‘贰’ 如何恢复python编程环境spyder的窗口
晕掉。还真有时候看到这样的情形发呆呢。 你在view里,点击file explorer,就可以打开文件浏览窗口。
然后,找到一个python文件,双击打开,左边就出现编辑窗口了。
通常这样的问题通用解决办法是,查看view或者是tools或者是options里的选项。
或者是更简单的办法是,在File菜单里,打开一个python文件,编辑窗口就自已有了。
其它的工具窗口。你也可以在view里找到。常用的是project explorer, outline, console, pylint等。
‘叁’ nodejs负责view和controller,python负责model可以么
肯定不可以,都不是同一个语言
1.什么是前后端分离
传统的SPA模式:所有用到的展现数据都是后端通过异步接口(AJAX/JSONP)的方式提供的,前端只管展现。
从某种意义上来说,SPA确实做到了前后端分离,但这种方式存在两个问题:
WEB服务中,SPA类占的比例很少。很多场景下还有同步/同步+异步混合的模式,SPA不能作为一种通用的解决方案。
现阶段的SPA开发模式,接口通常是按照展现逻辑来提供的,而且为了提高效率我们也需要后端帮我们处理一些展现逻辑,这就意味着后端还是涉足了view层的工作,不是真正的前后端分离。
现阶段:从职责上划分才能满足目前我们的使用场景:
前端:负责View和Controller层
后端:只负责Model层,业务处理/数据等。
2.怎么做前后端分离
前端:负责View和Controller层
后端:只负责Model层,业务处理/数据等。
试想一下,如果前端掌握了Controller,我们可以做url design,我们可以根据场景决定在服务端同步渲染,还是根据view层数据输出json数据,我们还可以根据表现层需求很容易的做bigpipe,comet,socket等等,完全是需求决定使用方式。
3.1、基于NodeJS全栈式开发
需要一种web服务帮我们实现以前后端做的事情
这张图看起来简单而且很好理解,但没尝试过,会有很多疑问。
SPA模式中,后端已供了所需的数据接口,view前端已经可以控制,为什么要多加NodeJS这一层?
多加一层,性能怎么样
多加一层,前端的工作量是不是增加了?
多加一层就多一层风险,怎么破?
NodeJS什么都能做,为什么还要java
3.2、为什么要增加一层NodeJS?
现阶段我们主要以后端MVC的模式进行开发,这种模式严重阻碍了前端开发效率,也让后端不能专注于业务开发。
解决方案是让前端能控制Controller层,但是如果在现有技术体系下很难做到,因为不可能让所有前端都学java,安装后端的开发环境,写VM。
NodeJS就能很好的解决这个问题,我们无需学习一门新的语言,就能做到以前开发帮我们做的事情,一切都显得那么自然。
3.3、性能问题
分层就涉及每层之间的通讯,肯定会有一定的性能损耗。但是合理的分层能让职责清晰、也方便协作,会大大提高开发效率。分层带来的损失,一定能在其他方面的收益弥补回来。
另外,一旦决定分层,我们可以通过优化通讯方式、通讯协议,尽可能把损耗降到最低。
四、基于Node的前后端分离
上图是对基于Node的前后端分离分层的理解,以及Node的职责范围。简单解释下:
最上端是服务端,就是我们常说的后端。后端对于我们来说,就是一个接口的集合,服务端提供各种各样的接口供我们使用。因为有Node层,也不用局限是什么形式的服务。对于后端开发来说,他们只用关心业务代码的接口实现。
服务端下面是Node应用。
Node应用中有一层Model Proxy与服务端进行通讯。这一层主要目前是抹平我们对不同接口的调用方式,封装一些view层需要的Model。
Node层还能轻松实现原来vmcommon,tms等需要
Node层要使用什么框架由开发者自己决定。不过推荐使用express+xTemplate的组合,xTemplate能做到前后端公用。
怎么用Node大家自己决定,但是令人兴奋的是,我们终于可以使用Node轻松实现我们想要的输出方式:JSON/JSONP/RESTful/HTML/BigPipe/Comet/Socket/同步、异步,想怎么整就怎么整,完全根据你的场景决定。
浏览器层在我们这个架构中没有变化,也不希望因为引入Node改变你以前在浏览器中开发的认知。
引入Node,只是把本该就前端控制的部分交由前端掌控。
‘肆’ python 怎么获取 treeview 有多少行
用递归就可以获取到,一个计数器
‘伍’ paraview 中使用python 脚本问题
下载了一个版本,还在下载中,先通过网上帮你查一下资料。
其中有一个ParaView Writers可以在这个接口上建立自己的ImageWriter。这样输出格式就可以自己控制了。也许没有这么复杂。当然截屏是人人都会想到的。
有一个论坛上说了两个办法:办法1,Filters->Glyph功能可画矢量图,然后在File中存储就可以了。办法2,转换成Tecplot的格式后再由后者画出来存贮。
outline似乎是画一个线框,指定一个颜色。用来标注一个区域 。
你可以试着建立一个web方式的运行框架。其中可视化的部分似乎是用flash实现的。 借助了另一个公司的GWT工具。原本以为它是在后台转换成的图片,如果是那样就可以直接在后台拿到转换好的图。现在看来似乎是在flash里形成的矢量图的渲染。
‘陆’ python中tkinter treeview如何获取选中的条目
代码如下(PS:为什么源代码功能没了),请将#替换为空格:
import tkinter
from tkinter import ttk
def popup(event):
####print(tree.selection())
####string.set(tree.selection()[0])
####string.set(tree.focus())
win=tkinter.Tk()
tree=ttk.Treeview(win)
global string
string = tkinter.StringVar()
label=tkinter.Label(win, text="项目", textvariable=string)
myid=tree.insert("",0,"浙江",text="浙江",values=("1"))
myidx1=tree.insert(myid,0,"杭州",text="杭州",values=("2"))
myidx2=tree.insert(myid,1,"宁波",text="宁波",values=("3"))
myidy=tree.insert("",1,"山西",text="山西",values=("4"))
myidy1=tree.insert(myidy,0,"太原",text="太原",values=("5"))
myidy1=tree.insert(myidy,2,"大同",text="大同",values=("6"))
tree.bind("<ButtonRelease-1>", popup)
tree.pack()
label.pack()
win.mainloop()
‘柒’ Python treeview insert字体如何设置
到\wwwroot\webctrl_client\1_0目录下,找到treeview.htc文件,用记事本打开
找到这两句
var L_fontSize_Text = "10pt";
var L_fontName_Text = "Times";
把10pt和Times换为你需要的大小和字型我在tkinter中有一个Treeview(在Linux上是python3.6,但在windows上也是如此),我用它来模拟一种电子表格布局。我的问题是,如果我运行下面的示例代码并调整大小,比如“Column 1”,那么随着“Column 1”的增大,“Column 2”会变小。但是,如果我向右拖出final列,滚动条就会展开,现在我可以调整列1的大小而不改变列2的大小(相反,整个树视图都会展开)。如果再调整列1的大小,直到所有列都适合视图为止,那么行为似乎会恢复到原来的状态。在What causes this change of behaviour? Both, how can I stop it, and how can I ensure it's the default?
最小工作示例:import tkinter as tk
import tkinter.ttk as ttk
root = tk.Tk()
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)
tree = ttk.Treeview(root)
tree["show"] = "headings"
tree["columns"] = list(range(3))
for i in range(3):
tree.heading(i, text="Column {}".format(i))
for i in range(5):
tree.insert('', "end", i)
tree.grid(row=0, column=0, sticky=(tk.N, tk.S, tk.E, tk.W))
xs = ttk.Scrollbar(root, orient=tk.HORIZONTAL, command=tree.xview)
tree["xscrollcommand"] = xs.set
xs.grid(row=1, column=0, sticky=(tk.E, tk.W))
root.mainloop()
‘捌’ python能做什么
python主要可以做Web 和 Internet开发、科学计算和统计、桌面界面开发、软件开发、后端开发等领域的工作。
Python是一种解释型脚本语言。Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。互联网公司广泛使用Python来做的事一般有:自动化运维、自动化测试、大数据分析、爬虫、Web 等。
python中%常用的操作有%s,%d,%r等
%s,%r,%d分别表示字符串以str(),rper(),以及十进制整数表示,%f表示结果为浮点型。
1、%f 浮点型
importmath
%a.bf,a表示浮点数的打印长度,b表示浮点数小数点后面的精度 ,%f时表示原值,默认是小数点后5位数 。
print"PI=%f"%math.pi
output:PI=3.141593
只是%9f时,表示打印长度9位数,小数点也占一位,不够左侧补空格
print"PI=%9f"%math.pi
output:PI=_3.141593
2、%d 整型
[python]view plain
num=14
#%d打印时结果是14
3、%s 字符串
[python]view plain
string="hello"
%s打印时结果是hello
‘玖’ Python作图程序
实战小程序:画出y=x^3的散点图
样例代码如下:
[python]view plain
#coding=utf-8
importpylabasy#引入pylab模块
x=y.np.linspace(-10,10,100)#设置x横坐标范围和点数
y.plot(x,x*x*x,'or')#生成图像
ax=y.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
ax.set_yticks([-1000,-500,500,1000])
y.xlim(x.min(),x.max())#将横坐标设置为x的最大值和最小值
y.show()#显示图像
[python]view plain
importpylabasy
[python]view plain
y.np.linspace(-10,10,100)
举例:
[python]view plain
>>>np.linspace(2.0,3.0,num=5)
array([2.,2.25,2.5,2.75,3.])
[python]view plain
y.plot(x,x*x*x,'or')#生成图像
'r'可设置颜色为红色,基本上和matlab的操作很像。
[python]view plain
y.xlim(x.min(),x.max())
‘拾’ python在webview和activity混合页面下怎么定位
genymotion 模拟器:android 5.0.0
python 2.7
appium 1.4.16.1
1、app原生元素定位(常用)
driver.find_element_by_id(“resourse-id”)
driver.find_element_by_name(“text”)
driver.find_element_class_name(“class”)
driver._find_element_by_accessibility_id("content-desc")
2、android+python+webview页面的定位
问题1):driver.contexts 的结果只有NATIVE_APP,无WEBVIEW
需要开发人员在对应的activity下增加代码,重新打包,开启webview远程调试的开关,且只针对android4.4及以上有用
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
this.appView.(true);
}
问题2):获取webview的名字
contexts = .driver.contextsfor context in contexts:
print context
问题3):切换到webview模式
driver.switch_to.context("WEBVIEW ")
问题4):切换回原生NATIVE_APP
driver.switch_to().context("NATIVE_APP")
问题5):webview的定位方式
1、在chrome中输入chrome://inspect/#devices,此时打开app页面
2、如果点击inspect为空白窗口,在hosts文件中添加如下地址:
61.91.161.217 chrome-devtools-frontend.appspot.com
61.91.161.217 chrometophone.appspot.com
3、然后cmd中输入命令:ipconfig /flushdns 刷新dns配置,再打开inspect
4、点击放大镜符号可以定位元素
3、此时可获取到webview的url,直接在chrome打开也可进行元素定位