Qt5 的發展,未來應該會以 QML(QtQuick) 為主,QWidget應該還會存在,不過,我想應該就只有維設而已了;試了一下,果然很強大,值得用
參考:
[Python] 打包成執行檔程式
這幾天幫學長做 Linux 上的 GUI 介面,由於主程式是 python,所以找了一些資料,目前還是以 GTK 和 QT 為主流。
做了之後,就順便測試一下幾年前用過的打包程式,cz_freeze, py2exe, pyinstaller,在 Windows 10 x64 + Python 3.6.2 (x64) 的平台上,cz_freeze 和 pyinstaller 都可以,但是 py2exe 在 3.6.2 似乎無法編譯成功。
另外,pyinstaller 的操作完勝另外 2 支程式,方便簡單直接。推薦!! 不過,cz_freeze 可以直接把程式包成安裝檔,直接雙擊 2 下就可以安裝,唯一的缺點是沒有在桌面建立捷徑,美中不足。
做了之後,就順便測試一下幾年前用過的打包程式,cz_freeze, py2exe, pyinstaller,在 Windows 10 x64 + Python 3.6.2 (x64) 的平台上,cz_freeze 和 pyinstaller 都可以,但是 py2exe 在 3.6.2 似乎無法編譯成功。
另外,pyinstaller 的操作完勝另外 2 支程式,方便簡單直接。推薦!! 不過,cz_freeze 可以直接把程式包成安裝檔,直接雙擊 2 下就可以安裝,唯一的缺點是沒有在桌面建立捷徑,美中不足。
[Python] 如何套用 xrc 檔案
參考:UsingXmlResources
感想: xrc 只有單獨介面,所以若要取值或 binding 動作的話,就得自己再寫code處理,雖然已經方便許多,但是似乎還是有些煩瑣。
檔案:main.py, frame.py, gui.xrc
main.py
感想: xrc 只有單獨介面,所以若要取值或 binding 動作的話,就得自己再寫code處理,雖然已經方便許多,但是似乎還是有些煩瑣。
檔案:main.py, frame.py, gui.xrc
main.py
import wxframe.py
import wx.xrc as xrc
GUI_FILENAME = "gui.xrc"
GUI_MAINFRAME_NAME = "MainFrame"
class MyApp(wx.App):
def OnInit(self):
# Load all controls:
self._do_layout()
return True
def _do_layout(self):
self.res = xrc.XmlResource( GUI_FILENAME )
self.frame = self.res.LoadFrame( None, GUI_MAINFRAME_NAME )
self.SetTopWindow(self.frame)
self.frame.Show(1)
if __name__ == '__main__':
app = MyApp()
app.MainLoop()
import wxgui.xrc
import wx.xrc as xrc
class MainFrame(wx.Frame):
def __init__(self):
pre = wx.PreFrame()
# the Create step is done by XRC.
self.PostCreate(pre)
self.Bind(wx.EVT_WINDOW_CREATE, self.OnCreate)
def OnCreate(self, event):
self.Unbind(wx.EVT_WINDOW_CREATE)
wx.CallAfter(self._PostInit)
event.Skip()
return True
def _PostInit(self):
# Do all init here
self.Fit()
self.SetAutoLayout(True)
self.btnExit = xrc.XRCCTRL(self, 'btnExit')
self.Bind(wx.EVT_BUTTON, self.OnBtnExit, self.btnExit)
# Set properties:
self.btnExit.SetLabel('Exit')
def OnBtnExit(self, evt=None):
self.Close()
<?xml version="1.0" encoding="UTF-8"?>
<resource version="2.3.0.1">
<object class="wxFrame" name="demoframe" subclass="form.MainFrame">
<centered>1</centered>
<style>wxDEFAULT_FRAME_STYLE</style>
<title>Testing wx XRC mechanism</title>
<object class="wxBoxSizer">
<orient>wxHORIZONTAL</orient>
<object class="sizeritem">
<object class="wxPanel">
<object class="wxBoxSizer">
<orient>wxHORIZONTAL</orient>
<object class="sizeritem">
<object class="wxButton" name="btnExit">
<label></label>
<default>1</default>
</object>
<flag>wxALL|wxALIGN_CENTRE_VERTICAL|wxALIGN_CENTRE_HORIZONTAL</flag>
<border>20</border>
</object>
</object>
</object>
<flag>wxALL|wxEXPAND</flag>
</object>
</object>
</object>
</resource>
[轉] Eric6的安裝教學 新版問題解決篇
2017年7月27日 星期四
原文網址:https://jimshow.wordpress.com/2017/01/11/eric6%E7%9A%84%E5%AE%89%E8%A3%9D%E6%95%99%E5%AD%B8/
大致整理步驟如下,環境是 Windows7 + Python3:
1. 下載並安裝 python3 (預設路徑為 C:\Users\[使用者名稱]\AppData\Local\Programs\Python\Python36
2. 更新 pip 程式: python -m pip install -U pip setuptools
3. pip3 install QScintilla
4. pip3 install PyQt5
5. 下載 eric6 的 zip 檔並解壓縮,直接執行 install.py (or python install.py),執行完畢後會在 python3 的目錄下 ./Scripts/ 找到 eric6.bat 的批次執行檔
6. 下載並重新安裝 Qt https://www.qt.io/download-open-source/
大致整理步驟如下,環境是 Windows7 + Python3:
1. 下載並安裝 python3 (預設路徑為 C:\Users\[使用者名稱]\AppData\Local\Programs\Python\Python36
2. 更新 pip 程式: python -m pip install -U pip setuptools
3. pip3 install QScintilla
4. pip3 install PyQt5
5. 下載 eric6 的 zip 檔並解壓縮,直接執行 install.py (or python install.py),執行完畢後會在 python3 的目錄下 ./Scripts/ 找到 eric6.bat 的批次執行檔
6. 下載並重新安裝 Qt https://www.qt.io/download-open-source/
標籤:
Programming,
python
Ubuntu(Ezgo) 安裝新版的 wxFormBuilder
2012年4月28日 星期六
ezgo9 直接收錄的是 wxFormBuilder 3.1 的版本,可以去把 ppa 加入後,更新再安裝一次,就會是最新的版本了 3.3.x
sudo add-apt-repository ppa:wxformbuilder/release
sudo apt-get update
sudo apt-get insteall wxformbuilder
利用 Python 重寫 MountNetorkDisk
2012年4月7日 星期六
利用 Python + wxPython 重寫外掛(網路)磁碟的登入程式,當做學習Python 的成果!
目前只在Windows 平台上,並掛載網芳/Samba 的空間,過兩天再來試試 Ubuntu/Ezgo 平台。
訂閱:
文章 (Atom)