2013-01-19 39 views
0

早在我GTK2天的Gtk對象,我可以做一個導入從gi.repository

from gtk import Clipboard 

要訪問從我的程序剪貼板。

現在日子裏,我們必須內省導入對象爲:

from gi.repository import Gtk 

我一直在抓我的頭,看看是否有是從基於GTK進口只是一個物體,像這樣:

from gi.repository import Gtk.Clipboard 

當然這會導致SyntaxError異常。

有沒有辦法做我想做的事情?我現在需要的一個原因是,我需要一種非常輕的方式來訪問腳本的剪貼板。我不想導入所有的Gtk,因爲它是過度的/過度殺傷性的。我只是想剪貼板類,但我很好奇gi.repository中的其他項目(如通知)。

感謝,

Narnie

回答

2

變得非常容易。

from gi.repository.Gtk import Clipboard 
+0

太棒了!我已經從from..import搜索語法,但從來沒有發現你可以這樣做(我仍然不完全理解gi.repo是如何工作的,但我發現它必須像子文件夾中的其他模塊一樣)。我應該想到試試這個! 非常感謝。 – narnie

+1

@ narnie沒問題:)有時候這是顯而易見的事情,讓我們放慢腳步 –

1

你不能只導入的對象:你可以導入一個模塊(GTK),並添加一個名字(剪貼板)到當前名字空間,即,這些應該是等價的:

from gi.repository.Gtk import Clipboard 

from gi.repository import Gtk 
Clipboard = Gtk.Clipboard