首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -带有启用/禁用图标的工具栏- wxGlade第一个和第二个位图

Python -带有启用/禁用图标的工具栏- wxGlade第一个和第二个位图
EN

Stack Overflow用户
提问于 2012-12-14 17:22:38
回答 1查看 1.1K关注 0票数 1

Python -带有启用/禁用图标的工具栏- wxGlade第一个和第二个位图

你好,我在哪里可以找到带有启用/禁用图标的简单工具栏的示例?

我可以用wxGlade制作一个很好的工具栏,我也有每个图标的启用和禁用情况的图像,但我不能计算如何在程序运行时通过代码启用/禁用图标。

wxGlade有“第一个位图”和“第二个位图”选项

我认为类似于“如果bmpDisabled为wx.NullBitmap,则创建正常位图的阴影版本并将其用作禁用图像”。

http://wxpython.org/docs/api/wx.ToolBarBase-class.html#AddLabelTool

在理论上,Python自己制作了这个图标的阴影版本,但我没有要学习的样本。

我的代码示例:

代码语言:javascript
复制
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
# generated by wxGlade 0.6.5 (standalone edition) on Tue Dec 11 21:54:42 2012

import wx

# begin wxGlade: extracode
# end wxGlade


class MyFrame(wx.Frame):
    def __init__(self, *args, **kwds):
        # begin wxGlade: MyFrame.__init__
    kwds["style"] = wx.DEFAULT_FRAME_STYLE
    wx.Frame.__init__(self, *args, **kwds)

        # Tool Bar
        self.frame_1_toolbar = wx.ToolBar(self, -1, style=wx.TB_HORIZONTAL | wx.TB_TEXT)
        self.SetToolBar(self.frame_1_toolbar)
        self.frame_1_toolbar.AddLabelTool(1, "CUT", wx.Bitmap("editcut.png", wx.BITMAP_TYPE_ANY), wx.Bitmap("editcutapagado.png", wx.BITMAP_TYPE_ANY), wx.ITEM_NORMAL, "CUT", "")
        self.frame_1_toolbar.AddLabelTool(2, "EXIT", wx.Bitmap("exit.png", wx.BITMAP_TYPE_ANY), wx.Bitmap("exitaapagado.png", wx.BITMAP_TYPE_ANY), wx.ITEM_NORMAL, "EXIT", "")
        # Tool Bar end

        self.__set_properties()
        self.__do_layout()
        # end wxGlade

    def __set_properties(self):
        # begin wxGlade: MyFrame.__set_properties
        self.SetTitle("frame_1")
        self.frame_1_toolbar.Realize()
        # end wxGlade

    def __do_layout(self):
        # begin wxGlade: MyFrame.__do_layout
        sizer_1 = wx.BoxSizer(wx.VERTICAL)
        self.SetSizer(sizer_1)
        sizer_1.Fit(self)
        self.Layout()
        # end wxGlade

# end of class MyFrame
if __name__ == "__main__":
    app = wx.PySimpleApp(0)
    wx.InitAllImageHandlers()
    frame_1 = MyFrame(None, -1, "")
    app.SetTopWindow(frame_1)
    frame_1.Maximize()
    frame_1.Show()
    app.MainLoop()

那么,我该如何禁用/启用呢

代码语言:javascript
复制
self.frame_1_toolbar.AddLabelTool(1, "CUT", wx.Bitmap("editcut.png", wx.BITMAP_TYPE_ANY), wx.Bitmap("editcutapagado.png", wx.BITMAP_TYPE_ANY), wx.ITEM_NORMAL, "CUT", "")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-14 19:17:12

是否要禁用整个工具栏或其中的按钮。

对于每个按钮示例:

self.frame_1_toolbar.EnableTool( 1,False )# ..禁用剪切,并将id放在此处1。或启用按钮,设置为True

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13875796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档