/ Published in: Python
URL: https://bitbucket.org/vkolev/gdict/overview
It's absolutly the same as the gDict, that I wrote with pyGTK2, but now with Qt4 GUI just for testing.
Expand |
Embed | Plain Text
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'qgdict.ui' # # Created: Tue Nov 2 14:46:22 2010 # by: PyQt4 UI code generator 4.7.2 # # WARNING! All changes made in this file will be lost! languages = ['??', 'ar', 'bg', 'cs', 'de', 'en', 'es', 'fr', 'it', 'pt'] url = 'http://ajax.googleapis.com/ajax/services/language/translate' params = {} params['v'] = "1.0" params['q'] = "" params['langpair'] = "" import codecs import urllib import simplejson from PyQt4 import QtCore, QtGui class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(428, 276) MainWindow.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("dictionary.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) MainWindow.setAutoFillBackground(False) self.aboutdialog = QtGui.QWidget() self.centralwidget = QtGui.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.verticalLayout_2 = QtGui.QVBoxLayout(self.centralwidget) self.verticalLayout_2.setObjectName("verticalLayout_2") self.gridLayout = QtGui.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.comboFrom = QtGui.QComboBox(self.centralwidget) self.comboFrom.setObjectName("comboFrom") for lang in languages: self.comboFrom.addItem(lang) self.horizontalLayout.addWidget(self.comboFrom) self.gridLayout.addLayout(self.horizontalLayout, 1, 0, 1, 1) self.comboTo = QtGui.QComboBox(self.centralwidget) self.comboTo.setObjectName("comboTo") for lang in languages: if lang == "??": continue self.comboTo.addItem(lang) self.gridLayout.addWidget(self.comboTo, 2, 0, 1, 1) self.aboutButton = QtGui.QPushButton(self.centralwidget) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap("info.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.aboutButton.setIcon(icon1) self.aboutButton.setObjectName("aboutButton") self.gridLayout.addWidget(self.aboutButton, 3, 0, 1, 1) self.pasteButton = QtGui.QPushButton(self.centralwidget) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap("clipboard.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.pasteButton.setIcon(icon2) self.pasteButton.setObjectName("pasteButton") self.gridLayout.addWidget(self.pasteButton, 3, 1, 1, 1) self.translateButton = QtGui.QPushButton(self.centralwidget) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap("bubble.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.translateButton.setIcon(icon3) self.translateButton.setObjectName("translateButton") self.gridLayout.addWidget(self.translateButton, 3, 2, 1, 1) self.label = QtGui.QLabel(self.centralwidget) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) self.label.setSizePolicy(sizePolicy) self.label.setMinimumSize(QtCore.QSize(0, 144)) self.label.setText("None") self.label.setPixmap(QtGui.QPixmap("dictionary.png")) self.label.setScaledContents(False) self.label.setAlignment(QtCore.Qt.AlignCenter) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 0, 0, 1, 3) self.textEdit = QtGui.QLineEdit(self.centralwidget) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.textEdit.sizePolicy().hasHeightForWidth()) self.textEdit.setSizePolicy(sizePolicy) self.textEdit.setMinimumSize(QtCore.QSize(0, 40)) self.textEdit.setObjectName("textEdit") self.gridLayout.addWidget(self.textEdit, 1, 1, 1, 2) self.plainTextEdit = QtGui.QPlainTextEdit(self.centralwidget) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.plainTextEdit.sizePolicy().hasHeightForWidth()) self.plainTextEdit.setSizePolicy(sizePolicy) self.plainTextEdit.setMinimumSize(QtCore.QSize(0, 50)) self.plainTextEdit.setBaseSize(QtCore.QSize(0, 50)) self.plainTextEdit.setObjectName("plainTextEdit") self.gridLayout.addWidget(self.plainTextEdit, 2, 1, 1, 2) self.verticalLayout_2.addLayout(self.gridLayout) MainWindow.setCentralWidget(self.centralwidget) self.translateButton.connect(self.translateButton, QtCore.SIGNAL('clicked()'), self.OnTranslate) self.aboutButton.connect(self.aboutButton, QtCore.SIGNAL('clicked()'), self.OnShowAbout) self.pasteButton.connect(self.pasteButton, QtCore.SIGNAL('clicked()'), self.OnPasteClipboard) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "qGDict", None, QtGui.QApplication.UnicodeUTF8)) self.aboutButton.setText(QtGui.QApplication.translate("MainWindow", "About", None, QtGui.QApplication.UnicodeUTF8)) self.pasteButton.setText(QtGui.QApplication.translate("MainWindow", "Paste", None, QtGui.QApplication.UnicodeUTF8)) self.translateButton.setText(QtGui.QApplication.translate("MainWindow", "Translate", None, QtGui.QApplication.UnicodeUTF8)) def OnTranslate(self): #self.plainTextEdit.appendPlainText("The translated text comes here!: %s" % self.textEdit.displayText()) translated = self.TranslateString() self.plainTextEdit.clear() self.plainTextEdit.appendPlainText("%s" % translated) def OnShowAbout(self): QtGui.QMessageBox.information(self.aboutdialog, "About qPydict", "A PyQt4 application for translating\ndifferent texts in various languages\nusing the google trnsation APIs\n\nAuthor: Vladimir Kolev\nLicense: GNU/GPL v3.") def OnPasteClipboard(self): self.textEdit.paste() def TranslateString(self): langfrom = self.comboFrom.currentText() if langfrom == "??": langfrom = "" langto = self.comboTo.currentText() params['langpair'] = "%s|%s" % (langfrom, langto) params['q'] = self.textEdit.displayText().toUtf8() data = urllib.urlencode(params) response = urllib.urlopen(url, data) json = simplejson.load(response) return json['responseData']['translatedText'] if __name__ == "__main__": import sys app = QtGui.QApplication(sys.argv) MainWindow = QtGui.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())
Comments
Subscribe to comments
You need to login to post a comment.

Here a screenshot: