🐛 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
This commit is contained in:
parent
d9f458948e
commit
04f0fca44f
|
|
@ -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),该方法可能会失败。
|
||||
|
||||

|
||||
|
||||
## [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
|
||||
|
|
|
|||
72
flake.lock
72
flake.lock
|
|
@ -19,12 +19,15 @@
|
|||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1678901627,
|
||||
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
|
||||
"lastModified": 1689068808,
|
||||
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
|
||||
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -34,12 +37,15 @@
|
|||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1678901627,
|
||||
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
|
||||
"lastModified": 1689068808,
|
||||
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
|
||||
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -66,11 +72,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681036984,
|
||||
"narHash": "sha256-AbScJXshYzbeUKHh+Y3OICc3iAtr+NqJ3Xb81GW+ptU=",
|
||||
"lastModified": 1689192006,
|
||||
"narHash": "sha256-QM0f0d8oPphOTYJebsHioR9+FzJcy1QNIzREyubB91U=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fd531dee22c9a3d4336cc2da39e8dd905e8f3de4",
|
||||
"rev": "2de8efefb6ce7f5e4e75bdf57376a96555986841",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -82,11 +88,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1680213900,
|
||||
"narHash": "sha256-cIDr5WZIj3EkKyCgj/6j3HBH4Jj1W296z7HTcWj1aMA=",
|
||||
"lastModified": 1689192006,
|
||||
"narHash": "sha256-QM0f0d8oPphOTYJebsHioR9+FzJcy1QNIzREyubB91U=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e3652e0735fbec227f342712f180f4f21f0594f2",
|
||||
"rev": "2de8efefb6ce7f5e4e75bdf57376a96555986841",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -102,11 +108,11 @@
|
|||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1680548519,
|
||||
"narHash": "sha256-YduVpScBbfuv1cAiTBmlHzn1G0otfS48X34/SDhhByo=",
|
||||
"lastModified": 1689271918,
|
||||
"narHash": "sha256-p2VR7li1mVLaHcKiSlAtICxvOK9dZU6lr3cX8mTWsFI=",
|
||||
"owner": "Freed-Wu",
|
||||
"repo": "help2man",
|
||||
"rev": "68624c3c3d6669f3c1b10016271cc0ebf4143e02",
|
||||
"rev": "0e53eef211845d2ed534ec68bc9f40d4c7b6e37c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -122,11 +128,11 @@
|
|||
"python-help2man": "python-help2man"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1688645977,
|
||||
"narHash": "sha256-LgOhvYgkYEd4kpjyJ3A/WAFAHrJimpPYdtH02KpG80c=",
|
||||
"lastModified": 1689272108,
|
||||
"narHash": "sha256-kxLZHdmz2U95iNR9FzTSYmL0nQyxbgFMnpltFEnZrOc=",
|
||||
"owner": "Freed-Wu",
|
||||
"repo": "setuptools-generate",
|
||||
"rev": "40af73da1357f75d85b0d7381b2577e6a58b8d95",
|
||||
"rev": "58aac3c2d784e33ec6606b722a330eb018fc1799",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -156,6 +162,36 @@
|
|||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@
|
|||
# installing wxpython will install numpy
|
||||
# numpy
|
||||
piexif
|
||||
pillow==9.3
|
||||
pillow>=9.3
|
||||
wxpython
|
||||
|
|
|
|||
|
|
@ -685,69 +685,69 @@ class MulimgViewerGui ( wx.Frame ):
|
|||
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" )
|
||||
|
|
|
|||
|
|
@ -49,13 +49,13 @@ class PathSelectFrameGui ( wx.Frame ):
|
|||
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" )
|
||||
|
|
|
|||
Loading…
Reference in New Issue