2014-09-23 134 views

回答

0

对于如何完成此操作你有点模糊,所以我会说我们想要使用从名为bookmarks_Btn的UI文件导入的按钮。您需要使用pickle模块。

这里的示例代码...

from PyQt4 import QtCore, QtGui, QtWebKit, uic 
import pickle 

class window(QtGui.QWidget): 
    def __init__(self, parent=None): 
     super(httpWidget, self).__init__(parent) 
     self.ui = uic.loadUi('mybrowser.ui') 
     self.ui.setupUi(self)  

    def bookmarksLoad(self): 
     print 'Loading bookmarks' 
     try: 
      bookOpen = open('bookmarks.txt', 'rb') 
      bookmarks = pickle.load(bookOpen) 
      bookOpen.close() 
      print bookmarks # Not necessary, but for example purposes 

      # Here you decide how "bookmarks" variable is displayed. 

     except: 
      bookOpen = open('bookmarks.txt', 'wb') 
      bookmarks = 'http://www.stackoverflow.com' 
      bookWrite = pickle.dump(bookmarks, bookOpen) 
      bookOpen.close() 
      print bookmarks # Not necessary, but for example purposes 

      # Here you decide how "bookmarks" variable is displayed. 

    QtCore.QObject.connect(self.ui.bookmarks_Btn, QtCore.SIGNAL('clicked()'), self.bookmarksLoad) 
    self.ui.show() 

def bookmarks(): 
    url = input 'Enter a URL: ' 
    bookOpen = open('bookmarks.txt', 'wb') 
    bookOpen.write(url) 
    bookOpen.close() 
    print 'Website bookmarked!' 


if __name__ == '__main__': 
    app = QtGui.QApplication(sys.argv) 
    run = window() 
    bookmarks() 
    sys.exit(app.exec_()) 

# You add on here, for example, deleting bookmarks. 

不过,如果你想让它从地址栏(命名为address,做如下修改检索...

# In the bookmarks function... 
global url # Add at beginning 
# Remove the input line. 

# Add at end of __init__ in window class: 
url = self.ui.address.text() 
global url 

这请注意我通常使用Python 3和PyQt5编程,所以如果有任何错误,请告诉我:)