пятница, 24 июня 2011 г.

PyQt + GoogleAPI


Недавно заинтересовался языком python и решил сваять что-то. Так как я любитель Qt то и сваял gui с их помощью.
Задача была несложной.Ввести свои данные gmail и увидеть список своих документов на https://docs.google.com/.
Вот что получилось для примера:
main.py

from gui import *

if __name__ == '__main__':
import sys

app = QApplication(sys.argv)
window = Dialog()
sys.exit(window.exec_())

gui.py

#coding=windows-1251
from PySide.QtCore import *
from PySide.QtGui import *
import gdata.docs.service


class Dialog(QDialog):
def __init__(self):
super(Dialog,self).__init__()
# кодировка
QTextCodec.setCodecForCStrings(QTextCodec.codecForName("UTF-8"))
# добавляем всякие виджеты
self.setGui()
# конектим слоты
if(self.connect() == False):
print 'Connect do not work!'
def setGui(self):
# добавляем виджеты
self.labelEmail = QLabel('Email',self)
self.labelPassword = QLabel('Password',self)
self.lineEmail = QLineEdit(self)
self.linePassword = QLineEdit(self)
self.linePassword.setEchoMode(QLineEdit.Password)
self.list = QListWidget(self)
self.buttonGet = QPushButton('Get',self)
# создаём лаяут
self.grid = QGridLayout(self)
# кидаем туда виджеты
self.grid.addWidget(self.labelEmail,0,0)
self.grid.addWidget(self.labelPassword,1,0)
self.grid.addWidget(self.lineEmail,0,1)
self.grid.addWidget(self.linePassword,1,1)
self.grid.addWidget(self.list,2,0,1,2)
self.grid.addWidget(self.buttonGet,3,0,1,2)
def connect(self):
flag = False
flag = self.buttonGet.clicked.connect(self.on_buttonGetClicked)
return flag
# получаем список документов на доках хухла и добавляем в таблицу
def on_buttonGetClicked(self):
client = gdata.docs.service.DocsService()
client.ClientLogin(self.lineEmail.text(), self.linePassword.text())
documents_feed = client.GetDocumentListFeed()
for document_entry in documents_feed.entry:
self.list.addItem(document_entry.title.text)

2 комментария:

  1. хорошо, прекрасный пример того, что простота является красотой. Привет из Праги

    Vaclav

    ОтветитьУдалить