Wu Zhenyu 2023-07-14 13:32:45 +08:00
parent d9f458948e
commit 04f0fca44f
No known key found for this signature in database
GPG Key ID: 0E07E1F8C0EC10AD
5 changed files with 78 additions and 45 deletions

View File

@ -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

View File

@ -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",

View File

@ -3,5 +3,5 @@
# installing wxpython will install numpy
# numpy
piexif
pillow==9.3
pillow>=9.3
wxpython

View File

@ -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" )

View File

@ -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" )