星期四, 3月 29, 2012
星期六, 3月 24, 2012
Stack Overflow 上網友對於 python gui 技術的比較
python - Pygtk VS Pyqt VS WxPython VS Tkinter - Stack Overflow
I can't really say which one is the most used, but here are some feature comparisons:
Tkinter:
- Built in to Python
- Not native-looking GUIs by default before Python 2.7
- Simple, easy to learn
- In Python 2.7, ttk support was added (themed widgets)
- Some GUI designers, but they aren't really as functional as those for other toolkits (but the simplicity of Tkinter alleviates this)
PyGTK:
- Focused on Linux, works on Windows but can be a pain (thanks to detly for pointing this out)
- Has a GUI designer, Glade
- More functionality/weight than Tkinter
- LGPL
PyGObject (GTK3, will replace PyGTK):
-- http://article.gmane.org/gmane.comp.gnome.gtk%2B.python/15449
- Still focused on Linux
- Basically the same, but access is done through GObject
- Relatively new, but will replace PyGTK
New users wising to develop Python applications using GTK are recommended to use the GObject-Introspection features available in PyGObject. Existing authors of PyGtk applications are also recommended to port their applications to PyGObject if they wish to take advantage of new features appearing in GTK-3 and beyond.
wxPython:
- Cross-platform
- Native widgets on each platform
- More functionality/weight than Tkinter
- GUI designers like wxGlade and others
- wxWindows license (similar to LGPL)
PyQt:
- Cross-platform
- Native (or at least native-looking) widgets on each platform, styleable with CSS
- More functionality/weight than Tkinter (probably the most here: JavaScript, QML...)
- GPL licensed (commercial licenses available)
- QtDesigner (made by Nokia) and utilities to convert to Python
PySide:
- Python Qt binding (like PyQT) but LGPL
- Cross-platform
- API is almost the same as PyQT, but it only supports the "new-style" PyQT API.
PyQt, wxWidgets, and PyGTK all support OpenGL.
All three have Webkit bindings, though PyQt's/PySide's seem to be the easiest to use (it is integrated, after all).
Tkinter is the simplest, but least feature-complete. wxPython and PyQt are probably the most powerful in terms of what's built in (as far as I know), but PyGTK is also good, especially if you're targeting Linux. New apps using GTK should use GObject rather than the old PyGTK interface.
All are cross-platform. (PySide also supports MeeGo.)
All support Python 3, except for PySide and wxPython, whose support is forthcoming (0,1).
Some links: Developing user interface in Python - TkInter Vs PyQt
星期三, 3月 21, 2012
[Ubuntu] 命令列下掛載網芳分享的作法
1. 不需密碼
# mount -t cifs //winserver/myshare /mnt
2. 需要帳號密碼
# mount -t cifs //winserver/myshare -o username=<username>,password=<password> /mnt
星期三, 3月 14, 2012
Ubuntu 12.04 Server beta1 開機後 resolv.conf 會重設?
最近安裝了一台 Ubuntu Server 12.04 beta 來試用,準備一切就緒後把 10.04 這個 LTS 版本升級到 12.04。
不過,今天連線更新時,重新開機後,居然無法對外連線,檢查了 /etc/resolv.conf 之後,發現裡面沒有任何 dns 的設定,所以,我就開心的寫下
nameserver 163.20.174.1
nameserver 168.95.192.1
結果重新開機後,剛剛在 resolv.conf 裡的設定通通不見了,仔細一看,它在開頭的地方寫著:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
看起來的意思是說,resolvconf 這支程式會動態產生 nameserver 的資料,所以不要直接修改 /etc/resolv.conf。
利用 「man resolvconf」看了一下說明,原來,nameserver 的設定都移到 /etc/network/interface 這個檔案裡了,直接在設定 ip 的時候,指定 dns 的資訊,簡單的用法如下:
dns-nameservers 203.27.153.5 168.95.192.1
dns-search slps.ntpc.edu.tw
星期二, 3月 13, 2012
介紹:Google Apps 管理介面 - Google Apps Manager
在練習 Google API 的時候發現這支程式,剛好蠻符合我的需求,可以用來管理 Google Apps 內的帳號。它可以用來
1.新增/刪除 帳號
2.停用/啟用 帳號
3.重設密碼
4.強迫登入後變更密碼
5.使用者清單/排序
下載位址:http://code.google.com/p/gappsmmc/downloads/list
操作步驟:
1. 安裝 gappsmmc 。
2. 執行「mmc」,開啟一個空的主控台。
3.點選「檔案/新增移除嵌入式管理單元」。