![Kiosk 模式下的新闻窗口(浏览器或 RSS)](https://linux22.com/image/69986/Kiosk%20%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%9A%84%E6%96%B0%E9%97%BB%E7%AA%97%E5%8F%A3%EF%BC%88%E6%B5%8F%E8%A7%88%E5%99%A8%E6%88%96%20RSS%EF%BC%89.png)
我们有 242 台安装了 Ubuntu 12.04 的 PC,运行类似 kiosk 模式的东西桌面。背景图像包含一些用户信息,但这是非常静态的。目前我们正在寻找一种无需修改背景图像即可向用户显示动态信息的方法。
所以我考虑一个简单的程序,它显示一个带有动态内容的窗口 - 例如一个网站。但该窗口必须没有任何控件或样式,并且用户不应该能够移动该窗口或调整该窗口的大小。
有什么程序可以帮助实现这一点吗?
答案1
我找到了解决方案。我使用一个运行简单 QWebKit 窗口的 python 脚本。这是我当前正在使用的代码(也许我发现了一些进一步的改进)。 (使用 Stackexchange 中的一些片段)
#!/usr/bin/env python
import sys
from PyQt4 import QtGui, QtCore
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
class NewsWindow(QWebView):
def __init__(self):
super(NewsWindow, self).__init__()
# reload timer
self.reloadtimer = QtCore.QTimer()
QtCore.QObject.connect(self.reloadtimer, QtCore.SIGNAL("timeout()"), self.reloadtimerRun)
self.reloadtimer.start(1000*60*10) # run every 10 mins
self.initUI()
def initUI(self):
self.setGeometry(245, 824, 790, 200)
self.setWindowFlags(self.windowFlags() | QtCore.Qt.FramelessWindowHint)
self.load(QUrl("http://URL..."))
self.show()
# Hide context menu
def contextMenuEvent(self, event):
menu = QMenu(self)
def reloadtimerRun(self):
self.reload()
def main():
app = QtGui.QApplication(sys.argv)
ex = NewsWindow()
sys.exit(app.exec_())
if __name__ == '__main__':
main()