2017-03-05 7 views
0

다음과 같은 문제가 있습니다 :wx.MenuBar()에 버튼을 추가하는 방법은 무엇입니까?

wx.Frame() 전체 화면 모드에서 시스템 메뉴가 사라지고 단추가 닫히고 최소화됩니다. 적어도 Windows에서는 그렇습니다.

이것은 일반적으로 바람직하지만, 불행히도 내 응용 프로그램 사용자는 매우 어리 석다. 메뉴를 사용하여이 두 가지 작업을 수행하기가 너무 어려울 것입니다. 많은 공간과 픽셀 컨트롤이 필요하기 때문에 전체 화면을 유지해야합니다.

그래서이 두 버튼을 수동으로 추가해야합니다. 비트 맵 단추를 사용하려고하지만 문제에 접근하는 방법을 모릅니다. 캡션이 없으므로 메뉴 표시 줄이 프레임 상단에 있습니다.

그래서 wx.MenuBar()를 상속하고 바보 같은 일을합니까? 아니면 버튼 위에 강제로 적용합니까? OS가 메뉴 막대와 함께 화를 낼 수있게 해줄까요?

누군가 내가 전에도 비슷한 일을했기 때문에 안개 속에서 비틀 거리지 않아도되기를 바랍니다. 간단한 예를 환영합니다. 만약 그들이 크로스 플랫폼 친화적 인, 그럼 그들은 환영보다.

+0

Menubar는 특별히 메뉴 용이며, 나는 당신이'wx.ToolBar'를 찾고 있다고 생각합니다. 'wx.Frame.CreateToolBar()'을 보라. https://wxpython.org/Phoenix/docs/html/wx.Frame.html#wx.Frame.CreateToolBar –

+0

나는 이것을 어떻게 든 알고있다. : D 1. 나는 수평 툴바 & 2를위한 장소가 없다. 오, 제발, 어떻게 그 모습이 나에게 말할 것인가. 창에 오른쪽 상단 모서리에 표준 컨트롤이있는 것처럼 보일 필요가 있습니다. – Dalen

+0

툴바가 수직 일 수 있습니다! 그러나 Linux에서는 시스템 메뉴와 닫기 및 최소화 단추가 전체 화면 모드에서 사라지지 않으므로 컴퓨터에 "windows"를 넣지 않으므로 사용자 환경을 복제 할 수 없습니다. –

답변

0
import wx 

class NoCaptionFrame(wx.Frame): 
    def __init__(self): 
     no_caption = wx.RESIZE_BORDER 
     wx.Frame.__init__(self, None, title="No Caption", style=no_caption) 
     toolbar = self.CreateToolBar(style=wx.TB_VERTICAL) 
     quittool1 = toolbar.AddLabelTool(wx.ID_ANY, 'Quit', wx.Bitmap('exit.png')) 
     quittool2 = toolbar.AddLabelTool(wx.ID_ANY, 'Quit', wx.Bitmap('exit.png')) 
     quittool3 = toolbar.AddLabelTool(wx.ID_ANY, 'Quit', wx.Bitmap('exit.png')) 
     toolbar.Realize() 
     menubar=wx.MenuBar() 
     first=wx.Menu() 
     second=wx.Menu() 
     first.Append(1,"New Window","This is a new window") 
     first.Append(2,"Open...","Open A New Window") 
     menubar.Append(first,"File") 
     menubar.Append(second,"Edit") 
     self.SetMenuBar(menubar) 
     self.Bind(wx.EVT_TOOL, self.OnQuit, quittool1) 
     self.Show() 

    def OnQuit(self, e): 
     self.Close() 

if __name__ == "__main__": 
    app = wx.App() 
    frame = NoCaptionFrame() 
    app.MainLoop() 
+0

그래,하지만 여기에 메뉴 바가 없어. 툴바 만. 자, 만약 당신이 하나 있다면, 일들이 점점 불쾌 해지기 시작합니다. 예를 들어, 메뉴 막대가 프레임 내에서 간주되지 않는다는 것을 알았습니다. 좌표계에는 좌표계가 포함되어 있지 않으므로 좌표계 위에 그냥 밀어 넣을 수는 없습니다. 도구 모음은 방향에 관계없이 도구 모음 아래에 있습니다. – Dalen

+0

메뉴 바 추가 및 적어도 Linux에서는 괜찮아 보입니다. Windows가 완전히 다른 것을하고 있기 때문에, 나는 당신의 문제를 이해하지 못하거나 당신의 문제를 충분히 설명하지 못했습니다. 우주에 얼마나 제약이 있는지에 관계없이 통제는 어딘가에서 공간을 먹을 것입니다. –