python - 如何在PySide的浏览器示例中添加工具栏?

标签 python url browser toolbar pyside

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
from PySide.QtCore import *
from PySide.QtGui import *
from PySide.QtWebKit import *
from PySide.QtHelp import *
from PySide.QtNetwork import *

app = QApplication(sys.argv)

web = QWebView()
web.load(QUrl("http://google.com"))
web.show()
web.resize(650, 750)
q_pixmap = QPixmap('icon.ico')
q_icon = QIcon(q_pixmap)
QApplication.setWindowIcon(q_icon)
web.setWindowTitle('Browser')
sys.exit(app.exec_())

如何在其上添加带有两个按钮的工具栏: 一个称为“URL 1”,另一个称为“URL 2”,因此,如果他们单击它,就会打开一个 url。如果您明白我的意思,您可以将其与最喜欢的网站列表进行比较。

谢谢!

最佳答案

这是一个很好的PyQt Tutorial首先。

要获得工具栏,您必须创建一个主窗口,它将有一个工具栏并包含您的浏览器窗口作为中央小部件。要将项目添加到工具栏,您首先必须创建操作,然后将这些操作添加到工具栏。 Action 可以与触发 Action 时执行的函数连接。

这是一个工作片段:

import sys
from PySide import QtCore, QtGui, QtWebKit

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        # Create an exit action
        exitAction = QtGui.QAction('Load Yahoo', self)
        # Optionally you can assign an icon to the action
        # exitAction = QtGui.QAction(QtGui.QIcon('exit24.png'), 'Exit', self)
        exitAction.setShortcut('Ctrl+Q') # set the shortcut
        # Connect the action with a custom function
        exitAction.triggered.connect(self.load_yahoo)
        # Create the toolbar and add the action
        self.toolbar = self.addToolBar('Exit')
        self.toolbar.addAction(exitAction)

        # Setup the size and title of the main window
        self.resize(650, 750)
        self.setWindowTitle('Browser')

        # Create the web widget and set it as the central widget.
        self.web = QtWebKit.QWebView(self)
        self.web.load(QtCore.QUrl('http://google.com'))
        self.setCentralWidget(self.web)

    def load_yahoo(self):
        self.web.load(QtCore.QUrl('http://yahoo.com'))


app = QtGui.QApplication(sys.argv)
main_window = MainWindow()
main_window.show()    
sys.exit(app.exec_())

关于python - 如何在PySide的浏览器示例中添加工具栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18322003/

相关文章:

python 不对 bool 进行严格的类型检查

python - 如何在Python中绘制重叠簇

php - 当 url 有 & 时,file_get_contents 失败

python - 如何在 Django 中制作类似于 stackoverflow 的 URL?

javascript - 使用 javascript 在 chrome 或 firefox(均为最新版本)上自动打印 pdf 文件

python - Dash/plotly,仅显示直方图中的前 10 个值

python - 我必须在 python 的基类中定义属性吗?

javascript - 如何强制 href 链接为绝对链接?

css - 如何在调整寡妇大小时锁定导航位置?

java - 启动Chrome,然后等待其关闭