如何在单击按钮时使用PyQt打开URL?

时间:2017-03-16 13:27:55

标签: python pyqt

这是我想要打开一个http链接的代码,它在URL字段中键入并链接到“确定”按钮,以便我可以打开链接。我有这个问题,无法用OK按钮链接字段区域。请帮忙。

def __init__(self):
    super(Example, self).__init__()

    self.initUI()
def initUI(self):

    b1 = QtGui.QPushButton("OK", self)
    b1.clicked.connect(open_webbrowser)
    b1.move(100,100)
    b2 =QtGui.QPushButton("EXIT", self)
    b2.clicked.connect(self.buttonClicked2)
    b2.move(300,100)


    l1 = QtGui.QLabel('URL',self)
    l1.move(100,20)
    self.add1 = QtGui.QLineEdit()


    l2 = QtGui.QLabel("PORT",self)
    l2.move(100,50)
    self.add2 = QtGui.QLineEdit()

    fbox = QtGui.QFormLayout()
    vbox = QtGui.QVBoxLayout() 

    vbox.addWidget(self.add1)
    vbox.addWidget(self.add2)
    fbox.addRow(l1,self.add1)
    fbox.addRow(l2,self.add2)   

    self.setLayout(fbox)
    self.setWindowTitle('URL STREAM')
    self.show()


def buttonClicked1(self):
    print self.add1.text()
    print self.add2.text()
    print "Streaming..."

def open_webbrowser(self):
    webbroser.open('http://www.google.com') 



def buttonClicked2(self):
    print "Exiting..."
    self.close()

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    ex.initUI()
    sys.exit(app.exec_())



if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:0)

您需要从行编辑中获取文本,例如:

def open_webbrowser(self):
    # if you want please remember to check its valid url or not
    url = str(self.add1.text())
    webbroser.open(url)