2009年6月30日 星期二

[Python] wxPython 直接使用 XRC 建立 GUI

一直以來,在Python上手工刻GUI都是件讓我很困擾的事。在Tkinter, wxPython, PyGTK, PyQT…一堆GUI Framework裡面,我還找不到一個適合自己的。

本來是想用wxPython來上手的,沒想到越練習越挫折,囧rz。

這邊有一個用XRC(xml resources)來建構GUI的部份,範例是可以正常運作,但是經小修增後,會出現一些我不能理解的問題…。

xml.py

#!/usr/bin/python
# xml.py

import  wx
import  wx.xrc  as  xrc

class Xml(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title)

        res = xrc.XmlResource(’resource.xrc’)
        res.LoadPanel(self, ‘MyPanel’)

        self.Bind(wx.EVT_BUTTON, self.OnClose,  id=xrc.XRCID(’CloseButton’))
        self.Center()
        self.Show(True)

    def OnClose(self, event):
        self.Close()

app = wx.App()
Xml(None, -1, ‘xml.py’)
app.MainLoop()

resource.xrc

<?xml version="1.0" ?>
<resource>
  <object class="wxPanel" name="MyPanel">
   <object class="wxButton" name="CloseButton">
    <label>Close</label>
    <pos>15,10</pos>
   </object>
  </object>
</resource>

來源參考: wxPython:XRC

[Python] 在瀏覽器開啟連結

import webbrowser, sys, os
def openurl(self, url):
  try:
    webbrowser.open(url)
  except ImportError: # pre-webbrowser.py compatibility
    if sys.platform == 'win32':
      os.system('start "%s"' % url)
    elif sys.platform == 'mac':
      try: import ic
      except ImportError: pass
      else: ic.launchurl(url)
    else:
      rc = os.system('netscape -remote "openURL(%s)" &' % url)
      if rc: os.system('netscape "%s" &' % url)

來源參考: http://www.id-snippet.com/3202/open-browser-in-python/

2009年6月26日 星期五

[Bookmarklet] 重新讀取所有失敗的圖片 Reload Images

說明:

在Firefox 2還沒有重新讀取未載入完成的圖片時,我就常常用這個Bookmarklet了,是參考網路上加自己修改而成的。

不重新重新載入頁面,代之的是僅載入失敗的圖片。

下載(拉到書籤工具列):

Reload Images

2009年6月15日 星期一

[App Store] Instapaper 搭配 iPhone 更好用!!

Instapaper.com 是類似一個線上的書籤功能的網站,它的用途比較傾向當作Read it later的功能,也就是把網址記錄下來,之後再連上個人頁面來開啟連結讀取。

在去年iPhone之前就已經有使用過了,搭配它的Bookmarklet,對我來說真的只有Read it later的功能,雖然畫面及功能或許陽春(我認為是簡潔有力,bookmarklet也是),但是該有的功能一點也不囉嗦。

2009-06-15_095952

2009-06-15_105243

而它不同於Evernote之類網站最大的特色就是: 註冊可以不用email、訴求簡單。

2009-06-15_104236

也因如此,剛開始我使用時並沒有給email,也沒設密碼,反正就不過是暫存一些網址,並沒有什麼私人資料。

而後在iPhone/iPod Touch上它們也出了相關的軟體,可以對應在Instapaper上的帳號,把未讀的網址內容一口氣全部下載,以供iPhone離線時可以閱讀。

Instapaper Free 是iPhone上免費的Instapaper軟體,功能就已經足夠了,功能有:

  • 同步更新並下載功能
  • 純文字模式或網頁模式
  • 支援iPhone水平閱讀

另有付費的Instapaper Pro,功能更多,有興趣的可以自行參考。

 

從入手iPhone後就開始使用這軟體,相較於其它同類型的軟體,算是令我滿意的了。

另外,在iPhone上有類似功能的,還有EverNoteRead It Later ,有興趣可以參考一下。

2009年6月6日 星期六