私はpyqt4のQWebViewを使用してhtmlファイルを表示しています。このようにして、アプリスイッチャーのように機能します。私が遭遇した問題の 1 つは、HTML5 Geo Location へのアクセスを許可できないことです。同じトピックに関する別の質問で、QWebPage でシグナルが必要であるということを読みましたが、残念ながらコードは c++ に関連しているため、pyqt4 を初めて使用するため、Python に変換する方法がわかりません。したがって、質問が明確でない場合。QWebView で HTML5 GeoLocation を許可するにはどうすればよいですか?
これは私がこれまでに持っているものです
class HTML_handler(QtWebKit.QWebView):
def __init__(self):
super(HTML_handler,self).__init__()
self.initUI()
def initUI(self):
page = webpage()
page.mainFrame().setUrl(QtCore.QUrl("file:///home/dev/Documents/WebPages/weather.html"))
self.setPage(page)
#self.load(QtCore.QUrl("file:///home/dev/Documents/WebPages/weather.html")) //method before introducing QWebPage
self.setWindowFlags(QtCore.Qt.FramelessWindowHint) #| QtCore.Qt.WindowStaysOnTopHint)
self.loadApps()
self.show() #FullScreen()
class webpage(QtWebKit.QWebPage):
trigger = QtCore.pyqtSignal(); //not used because can\'t figure how to
def __init__(self):
super(webpage,self).__init__()
def featurePermissionRequested(self, *args, **kwargs): //QWebPage signal, not being used correctly though
self.setFeaturePermission(QtWebKit.QWebPage.PermissionGrantedByUser)
編集:または、少なくともこれをpythonに変換する方法を教えてください
class WebPage : public QWebPage
{
Q_OBJECT
public:
WebPage(QObject* parent = 0) :
QWebPage(parent)
{
connect(this, SIGNAL(featurePermissionRequested(QWebFrame*, QWebPage::Feature)), SLOT(permissionRequested(QWebFrame*, QWebPage::Feature)));
}
virtual ~WebPage()
{
}
private slots:
void permissionRequested(QWebFrame* frame, QWebPage::Feature feature)
{
setFeaturePermission(frame, feature, PermissionGrantedByUser);
}
};