我需要你的帮助!
情况:我有不同的标签,并在一个标签["Support"-Tab
]中我想使用QWebView小部件。
但是,当我点击此标签时,网站应首先加载:
main.py
import sys
from PyQt4 import QtCore, QtGui, QtWebKit
from tab-file import Support
class Widget(QtGui.QWidget):
def __init__(self, parent=None):
super(Widget, self).__init__(parent)
self.createTabs()
widgetLayout = QtGui.QVBoxLayout()
widgetLayout.addWidget(self.tabs)
self.setLayout(widgetLayout)
self.setWindowTitle("Tabs")
self.resize(400,400)
def createTabs(self):
self.tabs = QtGui.QTabWidget()
support = Support()
tab1 = QtGui.QWidget()
tab2 = support
self.tabs.addTab(tab1,"tab1")
self.tabs.addTab(tab2,"SUPPORT")
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec_())
我从此文件加载"Support"-Tab
:
tab-file.py
import sys
from PyQt4 import QtGui, QtCore, QtWebKit
class Support(QtGui.QWidget):
def __init__(self, parent=None):
super(Support, self).__init__(parent)
self.supportTab()
def supportTab(self):
view = QtWebKit.QWebView()
url = "http://www.google.com"
view.load(QtCore.QUrl(url))
vbox = QtGui.QVBoxLayout()
vbox.addWidget(view)
self.setLayout(vbox)
请告诉我如何解决这个问题?
提前致谢。
答案 0 :(得分:2)
main.py
中的:
使tab2
可寻址,并添加代码以收听制表符更改事件:
#...
self.tab2 = support
self.tabs.addTab(tab1,"tab1")
self.tabs.addTab(self.tab2,"SUPPORT")
#
self.tabs.currentChanged.connect(self.load_on_show)
然后添加动作
def load_on_show(self):
idx = self.tabs.currentIndex()
if idx == 1:
url = "http://www.google.com"
print url
self.tab2.load_url(url)
最后,在tab_file.py
[我不能使用破折号,必须使用下划线!]:
再次view
可寻址(self.view
)并添加代码
def load_url(self, url):
self.view. load(QtCore.QUrl(url))
这有帮助吗?