我正在使用 Qt (4.8) 和 PyQt 在 Linux 上用 Python (3.4) 编写桌面应用程序。
有没有办法将 Okular 的 pdf 视图功能作为小部件使用/导入?如果是,如何?
这对我有用:
import sys
from PyKDE4.kdecore import ki18n, KAboutData, KCmdLineArgs
from PyKDE4.kdecore import KLibLoader as ll
from PyKDE4.kdeui import KApplication
import PyKDE4.kparts as kp
appName = "KApplication"
catalog = ""
programName = ki18n ("KApplication")
version = "1.0"
description = ki18n ("KApplication")
license = KAboutData.License_GPL
copyright = ki18n ("(c) 2007 John Doe")
text = ki18n ("none")
homePage = "www.johndoe.com"
bugEmail = "johndoe@nowhere.com "
aboutData = KAboutData(
appName, catalog, programName, version, description,
license, copyright, text, homePage, bugEmail
)
KCmdLineArgs.init(sys.argv, aboutData)
app = KApplication()
win = kp.KParts.MainWindow()
okupart = ll.self().factory('okularpart').create()
win.setCentralWidget(okupart.widget())
win.show()
app.exec_()
pykde 可以提供所需的功能。不过,我还没有弄清楚怎么做。
获取最新版本的 pykde:
git clone git://anongit.kde.org/pykde4
文档:
https ://techbase.kde.org/Development/Languages/Python
http://api.kde.org/pykde-4.3-api/install.html
构建它需要 PyQt4 和 CMAKE。一些 linux 发行版发布了一个过时的 FindPyQt.py 版本(导致Python importerror : pyqtconfig 错误)。一个功能可以在这里找到:
https
://github.com/qgis/QGIS/blob/master/cmake/FindPyQt.py
将它放在/usr/share/kde4/apps/cmake/modules/
要将 UI 文件编译成 Python 代码,请使用 pykdeuic4 而不是 pyuic4:
pykdeuic4 file.ui > file.py