From c6a0aa7aba20847dc37e664e177bec5d23cbd2d6 Mon Sep 17 00:00:00 2001 From: Wu Zhenyu Date: Fri, 14 Jul 2023 13:32:45 +0800 Subject: [PATCH] :bug: Fix wxpython https://discuss.wxpython.org/t/typeerror-menuitem-argument-2-has-unexpected-type-standardid-when-running-the-demo/36464 https://github.com/wxWidgets/Phoenix/issues/2225 --- docs/resources/install.md | 5 +--- requirements.txt | 2 +- src/mulimgviewer/gui/main_gui.py | 38 ++++++++++++------------- src/mulimgviewer/gui/path_select_gui.py | 6 ++-- 4 files changed, 24 insertions(+), 27 deletions(-) diff --git a/docs/resources/install.md b/docs/resources/install.md index fbdae26..5196f19 100644 --- a/docs/resources/install.md +++ b/docs/resources/install.md @@ -17,9 +17,6 @@ pip install mulimgviewer pip install mulimgviewer[update] ``` -注意,目前由于依赖项 [wxpython](https://github.com/wxWidgets/Phoenix) -的 [bug](https://github.com/wxWidgets/Phoenix/issues/2225),该方法可能会失败。 - ![icon](https://user-images.githubusercontent.com/32936898/224473440-2088edd7-42e5-45a3-a403-515e2daa019a.jpg) ## [AUR](https://aur.archlinux.org/packages/python-mulimgviewer) @@ -54,7 +51,7 @@ brew install python-mulimgviewer 目前该软件还没有打包到 Ubuntu PPA 上。 -这是一个临时的安装方法,它避开了 `wxpython` 的 bug: +这是一个临时的安装方法: ```sh sudo apt install python3-wxgtk4.0 diff --git a/requirements.txt b/requirements.txt index 6dd2fea..476eeae 100755 --- a/requirements.txt +++ b/requirements.txt @@ -3,5 +3,5 @@ # installing wxpython will install numpy # numpy piexif -pillow==9.3 +pillow>=9.3 wxpython diff --git a/src/mulimgviewer/gui/main_gui.py b/src/mulimgviewer/gui/main_gui.py index 63f33b5..11c2de5 100644 --- a/src/mulimgviewer/gui/main_gui.py +++ b/src/mulimgviewer/gui/main_gui.py @@ -685,69 +685,69 @@ def __init__( self, parent ): self.m_menubar1 = wx.MenuBar( 0 ) self.m_menu1 = wx.Menu() self.m_menu11 = wx.Menu() - self.menu_open_sequential = wx.MenuItem( self.m_menu11, wx.ID_ANY, u"Sequential"+ u"\t" + u"Ctrl+E", u"one dir mul limg", wx.ITEM_NORMAL ) + self.menu_open_sequential = self.m_menu11.Append( wx.ID_ANY, u"Sequential"+ u"\t" + u"Ctrl+E", u"one dir mul limg", wx.ITEM_NORMAL ) self.m_menu11.Append( self.menu_open_sequential ) - self.menu_open_auto = wx.MenuItem( self.m_menu11, wx.ID_ANY, u"Parallel auto"+ u"\t" + u"Ctrl+A", u"one dir mul dir", wx.ITEM_NORMAL ) + self.menu_open_auto = self.m_menu11.Append( wx.ID_ANY, u"Parallel auto"+ u"\t" + u"Ctrl+A", u"one dir mul dir", wx.ITEM_NORMAL ) self.m_menu11.Append( self.menu_open_auto ) - self.menu_open_manual = wx.MenuItem( self.m_menu11, wx.ID_ANY, u"Parallel manual"+ u"\t" + u"Ctrl+M", u"one dir mul dir", wx.ITEM_NORMAL ) + self.menu_open_manual = self.m_menu11.Append( wx.ID_ANY, u"Parallel manual"+ u"\t" + u"Ctrl+M", u"one dir mul dir", wx.ITEM_NORMAL ) self.m_menu11.Append( self.menu_open_manual ) - self.menu_open_filelist = wx.MenuItem( self.m_menu11, wx.ID_ANY, u"Image File List"+ u"\t" + u"Ctrl+F", u"one dir mul dir", wx.ITEM_NORMAL ) + self.menu_open_filelist = self.m_menu11.Append( wx.ID_ANY, u"Image File List"+ u"\t" + u"Ctrl+F", u"one dir mul dir", wx.ITEM_NORMAL ) self.m_menu11.Append( self.menu_open_filelist ) self.m_menu1.AppendSubMenu( self.m_menu11, u"Open" ) - self.menu_output = wx.MenuItem( self.m_menu1, wx.ID_ANY, u"Select output path"+ u"\t" + u"Ctrl+O", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_output = self.m_menu1.Append( wx.ID_ANY, u"Select output path"+ u"\t" + u"Ctrl+O", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu1.Append( self.menu_output ) - self.m_menuItem15 = wx.MenuItem( self.m_menu1, wx.ID_ANY, u"Input flist - Parallel manual"+ u"\t" + u"Ctrl+I", wx.EmptyString, wx.ITEM_NORMAL ) + self.m_menuItem15 = self.m_menu1.Append( wx.ID_ANY, u"Input flist - Parallel manual"+ u"\t" + u"Ctrl+I", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu1.Append( self.m_menuItem15 ) - self.m_menuItem16 = wx.MenuItem( self.m_menu1, wx.ID_ANY, u"Save flist - Parallel manual"+ u"\t" + u"Ctrl+P", wx.EmptyString, wx.ITEM_NORMAL ) + self.m_menuItem16 = self.m_menu1.Append( wx.ID_ANY, u"Save flist - Parallel manual"+ u"\t" + u"Ctrl+P", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu1.Append( self.m_menuItem16 ) self.m_menubar1.Append( self.m_menu1, u"File" ) self.m_menu2 = wx.Menu() - self.menu_next = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"Next"+ u"\t" + u"Ctrl+N", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_next = self.m_menu2.Append( wx.ID_ANY, u"Next"+ u"\t" + u"Ctrl+N", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu2.Append( self.menu_next ) - self.menu_last = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"Last"+ u"\t" + u"Ctrl+L", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_last = self.m_menu2.Append( wx.ID_ANY, u"Last"+ u"\t" + u"Ctrl+L", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu2.Append( self.menu_last ) - self.menu_save = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"Save"+ u"\t" + u"Ctrl+S", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_save = self.m_menu2.Append( wx.ID_ANY, u"Save"+ u"\t" + u"Ctrl+S", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu2.Append( self.menu_save ) - self.menu_refresh = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"Refresh"+ u"\t" + u"Ctrl+R", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_refresh = self.m_menu2.Append( wx.ID_ANY, u"Refresh"+ u"\t" + u"Ctrl+R", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu2.Append( self.menu_refresh ) - self.menu_hidden = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"hidden"+ u"\t" + u"Ctrl+H", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_hidden = self.m_menu2.Append( wx.ID_ANY, u"hidden"+ u"\t" + u"Ctrl+H", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu2.Append( self.menu_hidden ) - self.menu_up = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"Up", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_up = self.m_menu2.Append( wx.ID_ANY, u"Up", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu2.Append( self.menu_up ) - self.menu_down = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"Down", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_down = self.m_menu2.Append( wx.ID_ANY, u"Down", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu2.Append( self.menu_down ) - self.menu_right = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"Right", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_right = self.m_menu2.Append( wx.ID_ANY, u"Right", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu2.Append( self.menu_right ) - self.menu_left = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"left", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_left = self.m_menu2.Append( wx.ID_ANY, u"left", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu2.Append( self.menu_left ) - self.menu_delete_box = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"delete_box", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_delete_box = self.m_menu2.Append( wx.ID_ANY, u"delete_box", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu2.Append( self.menu_delete_box ) self.m_menubar1.Append( self.m_menu2, u"Edit" ) self.m_menu3 = wx.Menu() - self.index_table = wx.MenuItem( self.m_menu3, wx.ID_ANY, u"Index table"+ u"\t" + u"F2", wx.EmptyString, wx.ITEM_NORMAL ) + self.index_table = self.m_menu3.Append( wx.ID_ANY, u"Index table"+ u"\t" + u"F2", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu3.Append( self.index_table ) - self.menu_about = wx.MenuItem( self.m_menu3, wx.ID_ANY, u"About"+ u"\t" + u"F1", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_about = self.m_menu3.Append( wx.ID_ANY, u"About"+ u"\t" + u"F1", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu3.Append( self.menu_about ) self.m_menubar1.Append( self.m_menu3, u"Help" ) diff --git a/src/mulimgviewer/gui/path_select_gui.py b/src/mulimgviewer/gui/path_select_gui.py index 1385bd4..710bb5e 100644 --- a/src/mulimgviewer/gui/path_select_gui.py +++ b/src/mulimgviewer/gui/path_select_gui.py @@ -49,13 +49,13 @@ def __init__( self, parent ): fgSizer1.Fit( self ) self.m_menubar1 = wx.MenuBar( 0 ) self.m_menu1 = wx.Menu() - self.m_menuItem1 = wx.MenuItem( self.m_menu1, wx.ID_ANY, u"Clear all path"+ u"\t" + u"CTRL+A", wx.EmptyString, wx.ITEM_NORMAL ) + self.m_menuItem1 = self.m_menu1.Append( wx.ID_ANY, u"Clear all path"+ u"\t" + u"CTRL+A", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu1.Append( self.m_menuItem1 ) - self.m_menuItem2 = wx.MenuItem( self.m_menu1, wx.ID_ANY, u"Clear last path"+ u"\t" + u"CTRL+Z", wx.EmptyString, wx.ITEM_NORMAL ) + self.m_menuItem2 = self.m_menu1.Append( wx.ID_ANY, u"Clear last path"+ u"\t" + u"CTRL+Z", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu1.Append( self.m_menuItem2 ) - self.menu_close = wx.MenuItem( self.m_menu1, wx.ID_ANY, u"Close"+ u"\t" + u"Alt+C", wx.EmptyString, wx.ITEM_NORMAL ) + self.menu_close = self.m_menu1.Append( wx.ID_ANY, u"Close"+ u"\t" + u"Alt+C", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu1.Append( self.menu_close ) self.m_menubar1.Append( self.m_menu1, u"Edit" )