Python 结束特性:组和范围项选择器栏的选项卡式列表不显示
这是我第一次使用,我的应用程序很复杂 背景:我正在尝试制作一个界面,在我的主选择窗口中加载一些单独的数据图。每个数据图都单独显示,用户可以使用可拖动的选择栏(如demo.py上的Range示例)在每个图上独立选择数据点 1) SelectionWindow将SelectionFrame对象构造成一个列表,每个对象根据传入的数据创建其范围特征。我希望在另一个选项卡中的每个SelectionFrame中都有这些选项卡。SelectionFrame有一个范围特性,用户可以选择一些数据和一个分组的名称字段(现在,稍后我希望在这个组中有一个图形) 2) 然后,它从SelectionFrames-->Group对象列表中创建一个组,这样我就可以合并用户在选项卡式框架中所做的所有选择 3) 然后为整个SelectionWindow生成一个视图并进行渲染 问题: 1) 我无法将SelectionFrames-->组设为选项卡。我只是得到了一个垂直的范围选择器列表,它本身是选项卡式的,但只有一个 2) 我的射程特征无法渲染。我只得到一个文本字段,其中包含对象名和内存中的位置。 *我会发布图片,但这是我的第一个问题 这是代码,我已经剥离了数据加载的内容,因为我知道这是可行的,但组和内容的结构是这里主要关注的问题:Python 结束特性:组和范围项选择器栏的选项卡式列表不显示,python,python-2.7,user-interface,enthought,traitsui,Python,Python 2.7,User Interface,Enthought,Traitsui,这是我第一次使用,我的应用程序很复杂 背景:我正在尝试制作一个界面,在我的主选择窗口中加载一些单独的数据图。每个数据图都单独显示,用户可以使用可拖动的选择栏(如demo.py上的Range示例)在每个图上独立选择数据点 1) SelectionWindow将SelectionFrame对象构造成一个列表,每个对象根据传入的数据创建其范围特征。我希望在另一个选项卡中的每个SelectionFrame中都有这些选项卡。SelectionFrame有一个范围特性,用户可以选择一些数据和一个分组的名称字
class SelectionWindow(HasTraits):
def SelectionWindowFunctions():
self.selection_frames = []
for name, data from selections:
self.selection_frames.append(SelectionFrame(name, data) )
#setting traits data
#add the selector traits to the window
#make a list of Groups each of which presents a
#SelectionFrame object's data
self.selection_frame_groups = []
for i, frame in enumerate(self.selection_frames):
self.frame_name = self.selection_frames[i].name
self.selector = self.selection_frames[i].selector
self.frame_group = Group(Item(name='frame_name',
style='readonly'),
Item(name="selector",
style='simple'),
)#group
self.selection_frame_groups.append(self.frame_group)
#Now make a group out of the selection_frame_groups list of frame groups
#(items in a frame, e.g. selector bar etc).
self.selections_group = Group(self.selection_frame_groups,
label ="Selected Row Data",
show_border = False,
layout='tabbed',
show_labels=True,
)
#Generate the view to be used
self.frames_view = View(self.selections_group,
resizable = True,
buttons = ModalButtons,
title = "PhenOracle Selection Window",
)
class SelectionFrame(HasTraits):
def __init__(self, in_name, in_data):
#set the name
self.name = in_name
#set the data attribute
self.data = list(in_data)
#create the Range trait selection slider
self.selector = Range(value=float(self.data[0]),
low=float(self.data[0]), high=float(self.data[-1]))
if __name__ == "__main__":
w = SelectionWindow()
w.SelectionWindowFunctions
w.configure_traits(view=w.frames_view)
3) 如果有人有任何关于放置一个与滑块条反应的图形的技巧,那将是非常棒的。我应该使用matplotlib还是Chaco?我希望有一条垂直线,与选择器所在的点对齐
谢谢,如果成功的话,我会把成品的图片放上去,因为它可能非常独特。既然你说你的UI会很复杂,你有没有考虑过通过traits Enaml使用Enaml?TraitsUI非常适合快速原型和简单UI。ENML具有更陡峭的学习曲线,但对于复杂的UI来说,它的伸缩性要好得多,并且可以进行微调。Traits Enmal提供免费的Canopy Express,或者通过pip,或者从我意识到这个设计是非常错误的。我已经改正了,现在好多了,因为我习惯了这种思维方式。我没有考虑过埃纳尔。我现在没有时间去了解,但我会在稍后检查。我们也可能会尝试为TraitsUI用户提供更好的滑行路径。