[PyQt] TypeError Help. ASAP.
patx
patx44 at gmail.com
Sun Jul 5 04:21:56 BST 2009
*I am currently trying to run:*
#!/usr/bin/env python
# by patx | driver rowinggolfer
# version fawn | GNU GPL v3
# patx44.appspot.com/fastpatx
# other helpers: azazel, trsh,
# and people from #pyqt on freenode.
import sys
import subprocess
import time
from buzhug import Base
from PyQt4 import QtCore, QtGui
from PyQt4 import QtWebKit
class fastpatx(QtGui.QWidget):
def bookmarkfun(self):
bookurl = self.lineEdit.text
bookdb = Base('faves').create(('url',str),mode='open')
bookdb.insert(url=bookurl)
bookwn = QtGui.QMessageBox.question(self,"fastPATX",
"The page has been marked.",
QtGui.QMessageBox.Ok)
def viewSrc(self):
html = self.browser.page().mainFrame().toHtml()
dialog = QtGui.QDialog(self)
text = QtGui.QPlainTextEdit(dialog)
text.setPlainText(html)
ok = QtGui.QPushButton(dialog)
ok.setText('&Ok')
ok.setDefault(True)
self.connect(ok, QtCore.SIGNAL('clicked()'),
dialog.accept)
layout = QtGui.QVBoxLayout()
layout.addWidget(text)
layout.addWidget(ok)
dialog.setLayout(layout)
dialog.exec_()
def goHome(self):
self.browser.setUrl(QtCore.QUrl("http://www.google.com"))
def setCurl(self,url):
self.curl=url
self.urlString=url.toString()
def GoLink(self):
self.browser.load(self.curl)
self.page=self.browser.page()
self.page.setLinkDelegationPolicy(
QtWebKit.QWebPage.DelegateAllLinks)
def linkClicked(self,url):
self.setCurl(url)
self.GoLink()
def loadStarted(self):
print "loading page...",
def loadFinished(self,arg):
print "load finished...",
if arg:
print "sucess"
else:
print "failed"
self.offerDownload()
def offerDownload(self):
result=QtGui.QMessageBox.question(self,"Download File",
"download file <br />%s"%self.urlString,
QtGui.QMessageBox.Yes,QtGui.QMessageBox.No)
if result == QtGui.QMessageBox.Yes:
p=subprocess.Popen(['wget',self.urlString])
self.browser.setHtml("""
<h2>Downloading your file...</h2>
<hr>Powered by <a href="http://patx44.appspot.com">fastPATX</a>.
""")
time.sleep(2)
def lineEdited(self):
self.setCurl(QtCore.QUrl(self.lineEdit.text()))
self.GoLink()
def updateLineEdit(self,url):
self.setCurl(url)
self.lineEdit.setText(self.curl.toString())
def __init__(self):
QtGui.QWidget.__init__(self)
self.setCurl(QtCore.QUrl("http://www.google.com"))
self.lineEdit = QtGui.QLineEdit()
self.pushButton = QtGui.QPushButton('Go')
self.homeButton = QtGui.QPushButton('Home')
self.srcButton = QtGui.QPushButton('Source')
self.bookmark = QtGui.QPushButton('Bookmark')
self.browser = QtWebKit.QWebView()
tab = QtGui.QGridLayout()
tab.setSpacing(5)
tab.addWidget(self.browser, 0, 0, 1, 5)
tab.addWidget(self.lineEdit, 2, 0)
tab.addWidget(self.pushButton, 2, 1)
tab.addWidget(self.homeButton, 2, 2)
tab.addWidget(self.srcButton, 2, 3)
tab.addWidget(self.bookmark, 2, 4)
self.setLayout(tab)
self.setWindowTitle('fastPATX')
self.connect(self.lineEdit, QtCore.SIGNAL('returnPressed()'),
self.lineEdited)
self.connect(self.pushButton, QtCore.SIGNAL('clicked()'),
self.lineEdited)
self.connect(self.homeButton, QtCore.SIGNAL('clicked()'),
self.goHome)
self.connect(self.srcButton, QtCore.SIGNAL('clicked()'),
self.viewSrc)
self.connect(self.bookmark, QtCore.SIGNAL('clicked()'),
self.bookmarkfun)
self.connect(self.browser, QtCore.SIGNAL('linkClicked (const
QUrl&)'),
self.linkClicked)
self.connect(self.browser, QtCore.SIGNAL('urlChanged (const
QUrl&)'),
self.updateLineEdit)
self.connect(self.browser, QtCore.SIGNAL('loadStarted ()'),
self.loadStarted)
self.connect(self.browser, QtCore.SIGNAL('loadFinished (bool)'),
self.loadFinished)
self.GoLink()
app = QtGui.QApplication(sys.argv)
win = fastpatx()
win.show()
sys.exit(app.exec_())
*I get the error:
* File "fastpatx-fawn-alpha.py", line 21, in bookmarkfun
bookdb.insert(url=bookurl)
File "/usr/local/lib/python2.6/dist-packages/buzhug/buzhug.py", line 515,
in insert
self._validate(k,v)
File "/usr/local/lib/python2.6/dist-packages/buzhug/buzhug.py", line 978,
in _validate
%(k,self.fields[k],v,v.__class__)
TypeError: Bad type for url : expected <type 'str'>, got <built-in method
text of QLineEdit object at 0xa114cac> <type 'builtin_function_or_method'>
load finished... sucess
What am I doing wrong? Please help!
--
patx, python gui
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20090705/708b74f2/attachment-0001.html
More information about the PyQt
mailing list