Спасибо!
Проблема решилась вот так:
def initUI(self):
#кнопки
grid = QGridLayout()
self.setLayout(grid)
positions = [(i,j) for i in range(15) for j in range(1)]
for position, name, ahref in zip(positions, names, a_href):
button = QPushButton(name, self)
#button.url = ahref
#print(open_url)
#print(open_url)
button.setToolTip(ahref)
button.clicked.connect(partial(self.initNew, ahref))
grid.addWidget(button, *position)
#button.clicked.connect(lambda: self.initNew(button.url))
self.move(0, 0)
self.setWindowTitle('Моя читалка')
self.show()
def initNew(self, args):
msgBox = QMessageBox()
#url = (lambda:self.open_url)
url = args
print (url)
g = Grab()
g.go(url)
msg = g.doc.select('//div[@class="post-content"]').text()
msgBox.setText(msg)
msgBox.setWindowTitle('Новость')
msgBox.setStandardButtons(QMessageBox.Ok)
ret = msgBox.exec_();
И о чудо! Все заработало! :)