1

Python-有効/無効アイコン付きのツールバー-wxGladeの最初と2番目のビットマップ

こんにちは、有効/無効アイコンのあるシンプルなツールバーのサンプルはどこにありますか?

wxGladeで素敵なツールバーを作成できます。また、有効化と無効化の状況で各アイコンの画像がありますが、プログラムの実行後にコードでアイコンを有効化/無効化する方法がわかりません。

wxGladeには、「最初のビットマップ」と「2番目のビットマップ」のオプションがあります

「bmpDisabledがwx.NullBitmapの場合、通常のビットマップのシャドウバージョンが作成され、無効なイメージとして使用される」のようなものだと思います。

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

理論的にはPythonはそれ自体でアイコンのシャドウバージョンを作成しますが、学習するサンプルはありません。

私のコードの例:

#!/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()

では、どうすれば無効/有効にできますか

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", "")
4

1 に答える 1

1

ツールバー全体またはその中のボタンを無効にしたいですか。

各ボタンの例:

self.frame_1_toolbar.EnableTool( 1, False ) # .. ここに id を入れて CUT を無効にする 1. または True でボタンを有効にする

于 2012-12-14T11:17:11.970 に答える