

現在pyside2でwebブラウザを作成しています。  
toolbarのボタンで戻ったり、ページを読み込んだりしようとするのですが、スロットがうまく反応してくれません。

どなたか原因をご存じの方は教えていただきたいです。。

[code]

    browser.py
    
    import sys
    from PySide2.QtCore import Qt, Slot
    from PySide2.QtGui import QPainter
    from PySide2.QtWidgets import (QAction, QApplication, QHeaderView, QHBoxLayout, QLabel, QLineEdit,QMainWindow, QPushButton, QTableWidget, QTableWidgetItem,QVBoxLayout, QWidget)
    from PySide2.QtCharts import QtCharts
    from PySide2.QtWebEngineWidgets import QWebEngineView
    from toolbar import Browser_Toolbar
    
    @Slot()
    def load_page(page,toolbar):
            # page.setUrl(toolbar.url_box.text())
            print("show")
    
    class MainWindow(QMainWindow):
        def __init__(self):
            QMainWindow.__init__(self)
            self.setWindowTitle("tutorial")
            self.toolbar = Browser_Toolbar()
            self.page = page()
            self.page.load(self.page.initial_url)
            self.setCentralWidget(self.page)
    
    
            self.addToolBar(Qt.TopToolBarArea,self.toolbar)
            self.toolbar.url_box.returnPressed.connect(load_page(self.page,self.toolbar))
            self.toolbar.go.clicked.connect(load_page(self.page,self.toolbar))
            self.toolbar.back.clicked.connect(self.page.back())
            self.toolbar.next.clicked.connect(self.page.forward())
            # self.page.setUrl(self.toolbar.url_box.text())
    
    
    
    
    class page(QWebEngineView):
        def __init__(self):
            QWebEngineView.__init__(self)
            self.initial_url = "https://doc.qt.io/qtforpython/PySide2/QtWebEngineWidgets/QWebEngineView.html#more"
    
        # def load_page(self,url=None):
        #     if url:
        #         self.load(url)
        #     else:
        #         self.load(self.initial_url)
        #     self.show()
    
    
    
    class widget(QWidget):
        def __init__(self):
            QWidget.__init__(self)
            self.items = 0
            self._data = {"Water": 24.5, "Electricity": 55.1, "Rent": 850.0,"Supermarket": 230.4, "Internet": 29.99, "Bars": 21.85,"Public transportation": 60.0, "Coffee": 22.45, "Restaurants": 120}
    
            self.table = QTableWidget()
            self.table.setColumnCount(2)
            self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
    
            self.layout = QHBoxLayout()
            self.layout.addWidget(self.table)
            self.setLayout(self.layout)
            self.fill_table()
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        win = MainWindow()
        win.show()
        sys.exit(app.exec_())
    
    
    
    
[/code]

[code]

    toolbar.py
    
    
    from PySide2.QtWidgets import (QAction, QApplication, QHeaderView, QHBoxLayout, QLabel, QLineEdit,QMainWindow, QPushButton, QTableWidget, QTableWidgetItem,QVBoxLayout, QWidget, QToolBar)
    class Browser_Toolbar(QToolBar):
        def __init__(self):
            QToolBar.__init__(self)
            self.back = QPushButton("back")
            self.next = QPushButton("next")
            self.reload = QPushButton("reload")
            self.url_box = QLineEdit(self)
            self.url_box.setClearButtonEnabled(True)
            self.go = QPushButton("Go!")
    
            self.addWidget(self.back)
            self.addWidget(self.next)
            self.addWidget(self.reload)
            self.addWidget(self.url_box)
            self.addWidget(self.go)
    
[/code]

実行結果↓  
[![実行結果](https://i.stack.imgur.com/NxdTo.png)](https://i.stack.imgur.com/NxdTo.png)

  * slotデコレータをつけたり外したりしたが、print("show")が実行されるのがまちまち。
  * permission type 13のエラーは調べたところ、問題外らしい。

### 環境

windows10 home 64bit  
AMD RYZEN 5  
Python 3.7.5(vanilla)  
Pyside2 == 5.13.2

以上です。  
かなり急いでおります。どうか回答をよろしくお願いします！


CC BY-SA 4.0
2019-12-15T04:10:35.280
61448
2019-12-15T04:35:23.267
2019-12-15T04:35:23.267
19110
34191
question
python windows-10 pyside
Pyside2でスロットが使えない