1

我刚开始使用 TraitsUI,我是 Python 初学者。我希望这个问题不要太低级。

我想显示在 ControlPanel 中设置的按钮,从 Main 调用它。当我执行以下操作时,我只是一个带有“面板”按钮的窗口。如果我单击该按钮,我会得到另一个带有我想要的“开始”按钮的窗口。我如何才能获得带有“开始”按钮的窗口?

谢谢,科斯莫

主要的:

from enthought.traits.api import *
from enthought.traits.ui.api import *

class ControlPanel(HasTraits):
    """ This object is the core of the traitsUI interface. It hosts the method for
    interaction between the objects and the GUI.
    """

    start = Button("Start Measurements") 
    view = View(Item('start', show_label=False, style='custom' )) 

class MainWindow(HasTraits):
 """ The main window, here go the instructions to create and destroy the application. """

    panel = Instance(ControlPanel)
    def _panel_default(self):
        return ControlPanel()
    view = View(Item('panel'))

if __name__ == '__main__':
    MainWindow().configure_traits() 
4

1 回答 1

0

MainWindow中,改变这个:

    view = View(Item('panel'))

对此:

    view = View(Item('panel', style='custom'))

有关更多信息,请参阅InstanceEditor()文档。该文档的相关部分是屏幕截图下方的段落。an的simple样式InstanceEditor(这是默认样式)创建一个按钮,单击该按钮会打开一个包含实例视图的新窗口。该custom样式将实例的视图嵌入到包含该项目的同一窗口中。图 36 中的屏幕截图显示了一个示例。屏幕截图的顶部显示了simple样式,下面是custom样式。(下面是textandreadonly样式,但除了调试之外,它们不是很有用。)

于 2013-11-01T01:05:11.327 回答