-PyQt4 -Python 3.4.2Probleme mit PyQt4 Web Kit. Button verbindet dosent
ive einen Blick durch viele verschiedene Fragen hier und online durchgeführte Forschung hatte zu funktionieren.
Grundsätzlich passiert, dass wenn ich auf den Reload Button klicke, nichts passiert. Auch wenn ich versuchte, es zu drucken ("Neu laden"), erscheint nichts auf der Konsole. Dies geschieht auch mit der Vorwärts- und Zurück-Taste. Dies geschieht in der Reload-Funktion, Forward-Funktion und die Funktion Zurück zum Boden des Codes
Im sehr neu PyQt
Durch die Art und Weise dieser Code nicht, wo in der Nähe getan und die gui wurde in Qt Designer gemacht und in eine py-Datei aus einer ui-Datei konvertiert
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ApacheUI.ui'
#
# Created by: PyQt4 UI code generator 4.11.4
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
from PyQt4 import QtWebKit
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(720, 600)
MainWindow.setAcceptDrops(False)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8("Apache.ico")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
MainWindow.setAutoFillBackground(False)
MainWindow.setDocumentMode(False)
MainWindow.setTabShape(QtGui.QTabWidget.Rounded)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.gridLayout = QtGui.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.Forward = QtGui.QPushButton(self.centralwidget)
self.Forward.setObjectName(_fromUtf8("Forward"))
self.Forward.clicked.connect(lambda: self.Forward)
self.gridLayout.addWidget(self.Forward, 0, 1, 1, 1)
self.Back = QtGui.QPushButton(self.centralwidget)
self.Back.setObjectName(_fromUtf8("Back"))
self.Back.clicked.connect(lambda: self.Back)
self.gridLayout.addWidget(self.Back, 0, 0, 1, 1)
self.Reload = QtGui.QPushButton(self.centralwidget)
self.Reload.setObjectName(_fromUtf8("Reload"))
self.Reload.clicked.connect(lambda: self.Reload)
self.gridLayout.addWidget(self.Reload, 0, 2, 1, 1)
self.enter = QtGui.QPushButton(self.centralwidget)
self.gridLayout.addWidget(self.enter, 0, 0, 0, 0)
self.enter.resize(0, 0)
self.enter.clicked.connect(self.Enter)
self.enter.setShortcut("Return")
self.UrlBar = QtGui.QLineEdit(self.centralwidget)
self.UrlBar.setObjectName(_fromUtf8("UrlBar"))
self.gridLayout.addWidget(self.UrlBar, 0, 3, 1, 1)
self.webView = QtWebKit.QWebView(self.centralwidget)
self.webView.setUrl(QtCore.QUrl(_fromUtf8("about:blank")))
self.webView.setObjectName(_fromUtf8("webView"))
self.gridLayout.addWidget(self.webView, 1, 0, 1, 5)
MainWindow.setCentralWidget(self.centralwidget)
self.webView.urlChanged.connect(self.UrlChanged)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 720, 21))
self.menubar.setObjectName(_fromUtf8("menubar"))
self.menuOptions = QtGui.QMenu(self.menubar)
self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
self.menuSearch_Engine = QtGui.QMenu(self.menuOptions)
self.menuSearch_Engine.setObjectName(_fromUtf8("menuSearch_Engine"))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)
self.actionSettings = QtGui.QAction(MainWindow)
self.actionSettings.setObjectName(_fromUtf8("actionSettings"))
self.actionDuck_Duck_Go = QtGui.QAction(MainWindow)
self.actionDuck_Duck_Go.setObjectName(_fromUtf8("actionDuck_Duck_Go"))
self.actionGoogle = QtGui.QAction(MainWindow)
self.actionGoogle.setObjectName(_fromUtf8("actionGoogle"))
self.actionBing = QtGui.QAction(MainWindow)
self.actionBing.setObjectName(_fromUtf8("actionBing"))
self.actionQuora = QtGui.QAction(MainWindow)
self.actionQuora.setObjectName(_fromUtf8("actionQuora"))
self.actionDogpile = QtGui.QAction(MainWindow)
self.actionDogpile.setObjectName(_fromUtf8("actionDogpile"))
self.actionVimeo = QtGui.QAction(MainWindow)
self.actionVimeo.setObjectName(_fromUtf8("actionVimeo"))
self.actionBoardreader = QtGui.QAction(MainWindow)
self.actionBoardreader.setObjectName(_fromUtf8("actionBoardreader"))
self.actionAsk = QtGui.QAction(MainWindow)
self.actionAsk.setObjectName(_fromUtf8("actionAsk"))
self.actionSlide_Share = QtGui.QAction(MainWindow)
self.actionSlide_Share.setObjectName(_fromUtf8("actionSlide_Share"))
self.actionAddict_o_matic = QtGui.QAction(MainWindow)
self.actionAddict_o_matic.setObjectName(_fromUtf8("actionAddict_o_matic"))
self.actionCreative_Commons = QtGui.QAction(MainWindow)
self.actionCreative_Commons.setObjectName(_fromUtf8("actionCreative_Commons"))
self.actionGiphy = QtGui.QAction(MainWindow)
self.actionGiphy.setObjectName(_fromUtf8("actionGiphy"))
self.menuSearch_Engine.addAction(self.actionDuck_Duck_Go)
self.menuSearch_Engine.addAction(self.actionGoogle)
self.menuSearch_Engine.addAction(self.actionBing)
self.menuSearch_Engine.addAction(self.actionQuora)
self.menuSearch_Engine.addAction(self.actionDogpile)
self.menuSearch_Engine.addAction(self.actionVimeo)
self.menuSearch_Engine.addAction(self.actionBoardreader)
self.menuSearch_Engine.addAction(self.actionAsk)
self.menuSearch_Engine.addAction(self.actionSlide_Share)
self.menuSearch_Engine.addAction(self.actionAddict_o_matic)
self.menuSearch_Engine.addAction(self.actionCreative_Commons)
self.menuSearch_Engine.addAction(self.actionGiphy)
self.menuOptions.addAction(self.menuSearch_Engine.menuAction())
self.menubar.addAction(self.menuOptions.menuAction())
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "Apache", None))
self.Forward.setText(_translate("MainWindow", ">", None))
self.Back.setText(_translate("MainWindow", "<", None))
self.Reload.setText(_translate("MainWindow", "↻", None))
self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
self.menuSearch_Engine.setTitle(_translate("MainWindow", "Search Engine", None))
self.actionSettings.setText(_translate("MainWindow", "Settings", None))
self.actionDuck_Duck_Go.setText(_translate("MainWindow", "Duck Duck Go", None))
self.actionGoogle.setText(_translate("MainWindow", "Google", None))
self.actionBing.setText(_translate("MainWindow", "Bing", None))
self.actionQuora.setText(_translate("MainWindow", "Quora", None))
self.actionDogpile.setText(_translate("MainWindow", "Dogpile", None))
self.actionVimeo.setText(_translate("MainWindow", "Vimeo", None))
self.actionBoardreader.setText(_translate("MainWindow", "Boardreader", None))
self.actionAsk.setText(_translate("MainWindow", "Ask", None))
self.actionSlide_Share.setText(_translate("MainWindow", "Slide Share", None))
self.actionAddict_o_matic.setText(_translate("MainWindow", "Addict-o-matic", None))
self.actionCreative_Commons.setText(_translate("MainWindow", "Creative Commons", None))
self.actionGiphy.setText(_translate("MainWindow", "Giphy", None))
def WebPlayer(self):
url = ""
self.googleLink = 'https://www.google.com'
self.duckduckgoLink = 'https://duckduckgo.com/'
self.duckduckgoSearch = 'https://duckduckgo.com/?q='
self.bingLink = 'https://www.bing.com/'
self.quoraLink = 'https://www.quora.com/'
self.dogpileLink = 'http://www.dogpile.com/'
self.vimeoLink = 'https://vimeo.com/'
self.boardreaderLink = 'https://www.boardreader.com/'
self.askLink = 'http://www.ask.com/'
self.slideshareLink = 'http://www.slideshare.net/'
self.addictomaticLink = 'http://addictomatic.com/'
self.creationcommonsLink = 'https://search.creativecommons.org/'
self.giphyLink = 'http://giphy.com/'
self.searchPage = self.duckduckgoLink
self.searchEngine = self.duckduckgoSearch
def Enter(self):
global url
url = self.UrlBar.text()
http = "http://"
www = "www."
if www in url and http not in url:
url = http + url
elif "." not in url:
url = self.searchEngine + url
elif http in url and www not in url:
url = url[:7] + www + url[7:]
elif http and www not in url:
url = http + www + url
self.UrlBar.setText(url)
self.webView.load(QtCore.QUrl(url))
def Reload(self):
self.web.reload()
def Back(self):
self.webView.back()
def Forward(self):
self.web.forward()
def UrlChanged(self):
self.UrlBar.setText(self.webView.url().toString())
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Jeder Grund, den Sie verwenden, verbinden (Lambda: self.Reload) anstatt nur (self.Reload) zu verbinden? –
Ja, wegen dem, was zu dieser Frage gesagt wurde, http://stackoverflow.com/questions/10730131/create-dynamic-button-in-pyqt Ohne es bekomme ich einen Fehler: TypeError: connect() Slot-Argument sollte ein sein Callable oder ein Signal, nicht 'QPushButton' –