• 0
عامر الشابي

فكرة هذا المشروع حقا رائعة (قاموس الكلمات)

سؤال

السلام عليكم ورحمة الله وبركاته

 

وجدت هذا الموضوع في قسم لغة البيرل  (هنا) عجبتني الفكرة فقلت لما لا يتم تطبيقها على بيئة البايثون

 

من يريد المشاركة فمرحبا به

 

ومن لم يفهم الفكرة فسأقوم بشرحها

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

33 إجابة على هذا السؤال .

  • 0

لديك ملفين txt الملف الأول يحتوي على كلمات إنجليزية من 1 إلى 100 مثلا

 

والملف الثاني يحتوي على كلمات عربية بنفس الترتيب الملف الأول من 1 إلى 100

 

مثلا الملف أول في سطر 10 الكلمة "Programming" في الملف الثاني السطر 10 تجد مقابلها وهو "البرمجة"

 

ما سيفعله المستخدم هو إختيار اللغة التي سيتم ترجمتها وإختيار اللغة التي ستترجم بها مثلا من عربية إلى إنجيلزية أو العكس

 

ومن بعد ذلك سيكتب الكلمة المراد ترجمتها وطباعتها في الواجهة

 

وكلمسة جديدة من أفضل جعل السكربت يعمل على الواجهة الرسومية

 

أي إضافات مرحبا بها

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الواجهة الرسومية

from gi.repository import Gtkdef translate(widget, data=None):    passwin = Gtk.Window()win.connect("delete_event", Gtk.main_quit)vbox = Gtk.VBox()hbox = Gtk.HBox()entry = Gtk.Entry()btn = Gtk.Button("Teanslate")text = Gtk.Label("")win.add(vbox)vbox.pack_start(hbox, False, False, 0)hbox.pack_start(entry, True, True, 0)hbox.pack_start(btn, False, False, 0)vbox.pack_start(text, True, True, 0)btn.connect("clicked", translate)win.show_all()Gtk.main()

هل تقترح اي تعديل ؟

واذا تفضل qt مو مشكلة

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أكمل في برمجة السكربت حتى وإن كنت وحدك سأنهي بعض أشغال وأعود لمساعدتك

 

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سوف استخدام qt بدل gtk

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'qttran.ui'## Created: Sat Mar 22 22:35:17 2014#      by: PyQt4 UI code generator 4.10## WARNING! All changes made in this file will be lost!from PyQt4 import QtCore, QtGuiimport systry:    _fromUtf8 = QtCore.QString.fromUtf8except AttributeError:    def _fromUtf8(s):        return stry:    _encoding = QtGui.QApplication.UnicodeUTF8    def _translate(context, text, disambig):        return QtGui.QApplication.translate(context, text, disambig, _encoding)except AttributeError:    def _translate(context, text, disambig):        return QtGui.QApplication.translate(context, text, disambig)class Ui_MainWindow(object):    def setupUi(self, MainWindow):        MainWindow.setObjectName(_fromUtf8("MainWindow"))        MainWindow.resize(530, 314)        self.centralwidget = QtGui.QWidget(MainWindow)        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))        self.gridLayoutWidget = QtGui.QWidget(self.centralwidget)        self.gridLayoutWidget.setGeometry(QtCore.QRect(0, 0, 531, 261))        self.gridLayoutWidget.setObjectName(_fromUtf8("gridLayoutWidget"))        self.gridLayout = QtGui.QGridLayout(self.gridLayoutWidget)        self.gridLayout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)        self.gridLayout.setMargin(5)        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))        self.lineEdit = QtGui.QLineEdit(self.gridLayoutWidget)        self.lineEdit.setLayoutDirection(QtCore.Qt.LeftToRight)        self.lineEdit.setAutoFillBackground(False)        self.lineEdit.setObjectName(_fromUtf8("lineEdit"))        self.gridLayout.addWidget(self.lineEdit, 0, 0, 1, 1)        self.pushButton = QtGui.QPushButton(self.gridLayoutWidget)        self.pushButton.setObjectName(_fromUtf8("pushButton"))        self.gridLayout.addWidget(self.pushButton, 0, 1, 1, 1)        self.comboBox = QtGui.QComboBox(self.gridLayoutWidget)        self.comboBox.setLayoutDirection(QtCore.Qt.RightToLeft)        self.comboBox.setObjectName(_fromUtf8("comboBox"))        self.comboBox.addItem(_fromUtf8(""))        self.comboBox.addItem(_fromUtf8(""))        self.gridLayout.addWidget(self.comboBox, 1, 0, 1, 2)        self.textBrowser = QtGui.QTextBrowser(self.gridLayoutWidget)        self.textBrowser.setObjectName(_fromUtf8("textBrowser"))        self.gridLayout.addWidget(self.textBrowser, 2, 0, 1, 2)        MainWindow.setCentralWidget(self.centralwidget)        self.menubar = QtGui.QMenuBar(MainWindow)        self.menubar.setGeometry(QtCore.QRect(0, 0, 530, 29))        self.menubar.setObjectName(_fromUtf8("menubar"))        MainWindow.setMenuBar(self.menubar)        self.statusbar = QtGui.QStatusBar(MainWindow)        self.statusbar.setObjectName(_fromUtf8("statusbar"))        MainWindow.setStatusBar(self.statusbar)        self.retranslateUi(MainWindow)        QtCore.QMetaObject.connectSlotsByName(MainWindow)    def retranslateUi(self, MainWindow):        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))        self.pushButton.setText(_translate("MainWindow", "ترجم", None))        self.comboBox.setItemText(0, _translate("MainWindow", "من الانجليزية الى العربية", None))        self.comboBox.setItemText(1, _translate("MainWindow", "من العربية الى الانجليزية", None))class Tran(QtGui.QMainWindow):    def __init__(self, parent=None):        QtGui.QMainWindow.__init__(self, parent)        self.ui = Ui_MainWindow()        self.ui.setupUi(self)if __name__ == "__main__":    app = QtGui.QApplication(sys.argv)    myapp = Tran()    myapp.show()    sys.exit(app.exec_())

كيف يمكن عند تكبير النافذة ان تاخذ العناصر ملئ النافذة ؟؟؟

تم تعديل بواسطه the.scorpion
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
class Tran(QtGui.QMainWindow):    def __init__(self, parent=None):        QtGui.QMainWindow.__init__(self, parent)        self.ui = Ui_MainWindow()        self.ui.setupUi(self)        QtCore.QObject.connect(self.ui.pushButton, QtCore.SIGNAL("clicked()"), self.fromto)    def entoar(self):        try:            ef = open("ef.txt", "r")            af = open("af.txt", "r")            en = ef.readlines()            ar = af.readlines()            x = self.ui.lineEdit.text()            i = en.index(x+"\n")            t = ar[i]            self.ui.textBrowser.clear()            self.ui.textBrowser.append(t)        except Exception ,e:            print(e)        ef.close()        af.close()    def artoen(self):        try:            ef = open("ef.txt", "r")            af = open("af.txt", "r")            en = ef.readlines()            ar = af.readlines()            x = self.ui.lineEdit.text()            i = ar.index(x+"\n")            t = en[i]            self.ui.textBrowser.clear()            self.ui.textBrowser.append(t)        except Exception, e:            print(e)        ef.close()        af.close()    def fromto(self):        i = unicode(self.ui.comboBox.currentText())        if i =="from en to ar":            self.entoar()        else:            self.artoen()

يوجد مشكلة في الترميز ساحاول بها لاحقا.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

قمت ياستخدام sqlite3

class Tran(QtGui.QMainWindow):    def __init__(self, parent=None):        QtGui.QMainWindow.__init__(self, parent)        self.ui = Ui_MainWindow()        self.ui.setupUi(self)        QtCore.QObject.connect(self.ui.pushButton, QtCore.SIGNAL("clicked()"), self.fromto)    def entoar(self):        try:            self.ui.textBrowser.clear()            word = self.ui.lineEdit.text()            sql = sqlite3.connect("db.sq3")            con = sql.cursor()            con.execute("select * from dict")            words = con.fetchall()            for w in words:                if word == w[0]:                    self.ui.textBrowser.append(w[1])            con.close()            sql.close()        except Exception,e:            print(e)    def artoen(self):        try:            self.ui.textBrowser.clear()            word = self.ui.lineEdit.text()            sql = sqlite3.connect("db.sq3")            con = sql.cursor()            con.execute("select * from dict")            words = con.fetchall()            for w in words:                if word == w[1]:                    self.ui.textBrowser.append(w[0])            con.close()            sql.close()        except Exception,e:            print(e)    def fromto(self):        i = unicode(self.ui.comboBox.currentText())        if i =="from en to ar":            self.entoar()        else:            self.artoen()
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الموضوع رائع جداً كنت أبحث لتطبيق مثل هذا من زمان 

مشكور الله يخليك كمل متابعك 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
Ahmed7fathi  اذا عندك اي افكار شاركنا

قمت باضافة خاصية اضافة كلمة جديده الى القاموس وايضا تغيير الثيم

#! /usr/bin/python# -*- coding: utf-8 -*-# dictionaryfrom PyQt4 import QtCore, QtGuiimport qdarkstyleimport sysimport sqlite3try:    _fromUtf8 = QtCore.QString.fromUtf8except AttributeError:    def _fromUtf8(s):        return stry:    _encoding = QtGui.QApplication.UnicodeUTF8    def _translate(context, text, disambig):        return QtGui.QApplication.translate(context, text, disambig, _encoding)except AttributeError:    def _translate(context, text, disambig):        return QtGui.QApplication.translate(context, text, disambig)class Ui_MainWindow(object):    def setupUi(self, MainWindow):        MainWindow.setObjectName(_fromUtf8("MainWindow"))        MainWindow.resize(530, 386)        self.centralwidget = QtGui.QWidget(MainWindow)        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))        self.gridLayoutWidget = QtGui.QWidget(self.centralwidget)        self.gridLayoutWidget.setGeometry(QtCore.QRect(0, 0, 531, 331))        self.gridLayoutWidget.setObjectName(_fromUtf8("gridLayoutWidget"))        self.gridLayout = QtGui.QGridLayout(self.gridLayoutWidget)        self.gridLayout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)        self.gridLayout.setMargin(5)        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))        self.wordar = QtGui.QLineEdit(self.gridLayoutWidget)        self.wordar.setObjectName(_fromUtf8("wordar"))        self.gridLayout.addWidget(self.wordar, 4, 0, 1, 1)        self.lineEdit = QtGui.QLineEdit(self.gridLayoutWidget)        self.lineEdit.setLayoutDirection(QtCore.Qt.LeftToRight)        self.lineEdit.setAutoFillBackground(False)        self.lineEdit.setObjectName(_fromUtf8("lineEdit"))        self.gridLayout.addWidget(self.lineEdit, 0, 0, 1, 1)        self.pushButton = QtGui.QPushButton(self.gridLayoutWidget)        self.pushButton.setObjectName(_fromUtf8("pushButton"))        self.gridLayout.addWidget(self.pushButton, 0, 1, 1, 1)        self.comboBox = QtGui.QComboBox(self.gridLayoutWidget)        self.comboBox.setLayoutDirection(QtCore.Qt.RightToLeft)        self.comboBox.setObjectName(_fromUtf8("comboBox"))        self.comboBox.addItem(_fromUtf8(""))        self.comboBox.addItem(_fromUtf8(""))        self.gridLayout.addWidget(self.comboBox, 1, 0, 1, 2)        self.textBrowser = QtGui.QTextBrowser(self.gridLayoutWidget)        self.textBrowser.setObjectName(_fromUtf8("textBrowser"))        self.gridLayout.addWidget(self.textBrowser, 2, 0, 1, 2)        self.label = QtGui.QLabel(self.gridLayoutWidget)        self.label.setObjectName(_fromUtf8("label"))        self.gridLayout.addWidget(self.label, 3, 1, 1, 1)        self.label_2 = QtGui.QLabel(self.gridLayoutWidget)        self.label_2.setObjectName(_fromUtf8("label_2"))        self.gridLayout.addWidget(self.label_2, 4, 1, 1, 1)        self.worden = QtGui.QLineEdit(self.gridLayoutWidget)        self.worden.setObjectName(_fromUtf8("worden"))        self.gridLayout.addWidget(self.worden, 3, 0, 1, 1)        self.add_word = QtGui.QPushButton(self.gridLayoutWidget)        self.add_word.setObjectName(_fromUtf8("add_word"))        self.gridLayout.addWidget(self.add_word, 5, 0, 1, 1)        MainWindow.setCentralWidget(self.centralwidget)        self.menubar = QtGui.QMenuBar(MainWindow)        self.menubar.setGeometry(QtCore.QRect(0, 0, 530, 29))        self.menubar.setObjectName(_fromUtf8("menubar"))        MainWindow.setMenuBar(self.menubar)        self.statusbar = QtGui.QStatusBar(MainWindow)        self.statusbar.setObjectName(_fromUtf8("statusbar"))        MainWindow.setStatusBar(self.statusbar)        self.retranslateUi(MainWindow)        QtCore.QMetaObject.connectSlotsByName(MainWindow)    def retranslateUi(self, MainWindow):        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))        self.pushButton.setText(_translate("MainWindow", "ترجم", None))        self.comboBox.setItemText(0, _translate("MainWindow", "From en to ar", None))        self.comboBox.setItemText(1, _translate("MainWindow", "From ar to en", None))        self.label.setText(_translate("MainWindow", " الكلمة الانجليزية: ", None))        self.label_2.setText(_translate("MainWindow", " الكلمة العربية  : ", None))        self.add_word.setText(_translate("MainWindow", "اضافة", None))class Tran(QtGui.QMainWindow):    def __init__(self, parent=None):        QtGui.QMainWindow.__init__(self, parent)        self.ui = Ui_MainWindow()        self.ui.setupUi(self)        QtCore.QObject.connect(self.ui.pushButton, QtCore.SIGNAL("clicked()"), self.fromto)        QtCore.QObject.connect(self.ui.add_word, QtCore.SIGNAL("clicked()"), self.add_words)    def add_words(self):        try:            self.ui.textBrowser.clear()            worden = unicode(self.ui.worden.text())            wordar = unicode(self.ui.wordar.text())            w = [(worden, wordar)]            if worden!="" and wordar!="":                sql = sqlite3.connect("db.sq3")                con = sql.cursor()                con.execute("insert into dict(en, ar) values(?,?)", w[0])                sql.commit()                con.close()                sql.close()                self.ui.textBrowser.append("Done.")        except Exception, e:            print(e)    def entoar(self):        try:            self.ui.textBrowser.clear()            word = self.ui.lineEdit.text()            sql = sqlite3.connect("db.sq3")            con = sql.cursor()            con.execute("select * from dict")            words = con.fetchall()            for w in words:                if word == w[0]:                    self.ui.textBrowser.append(w[1])            con.close()            sql.close()        except Exception,e:            print(e)    def artoen(self):        try:            self.ui.textBrowser.clear()            word = self.ui.lineEdit.text()            sql = sqlite3.connect("db.sq3")            con = sql.cursor()            con.execute("select * from dict")            words = con.fetchall()            for w in words:                if word == w[1]:                    self.ui.textBrowser.append(w[0])            con.close()            sql.close()        except Exception,e:            print(e)    def fromto(self):        i = unicode(self.ui.comboBox.currentText())        if i =="From en to ar":            self.entoar()        else:            self.artoen()if __name__ == "__main__":    app = QtGui.QApplication(sys.argv)    app.setStyleSheet(qdarkstyle.load_stylesheet())    myapp = Tran()    myapp.show()    sys.exit(app.exec_())
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

صراحة أنا ليس لي معرفة بالربط بقواعد البيانات ممكن أساعدك بجمع الكلمات بالقاعدة بس أنتا أرفعها وتبقي دي مهمتي  :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تحتوي الواجهة على حقول لادخال كلمات جديدة

sql = sqlite3.connect("db.sq3")con = sql.cursor()con.execute("select * from dict")con.close()sql.close()

هذه الاوامر التي استخدمتها للربط بقاعدة البيانات

في الامر

con.execute("select * from dict")

تقوم باستخدام اوامر sql

 

حاول ان تضيف افكار جديد للبرنامج

ملاحظة : انا مبتدا لست خبير لا اتقن اي لغة برمجة  لكن ابقى احاول حتى اجد حل لاي مشكلة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عندي مشكلة :-

ImportError: no module named qdarkstyle

ثانياً زر الأضافة لا يعمل ؟؟!

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بالنسبة ImportError: no module named qdarkstyle

مكتبة qdarkstyle هي مجرد ثيم يمكن حذفها بمجرد حذف السطر

app.setStyleSheet(qdarkstyle.load_stylesheet())

ولا تنسى حذف

import qdarkstyle

او يمكن تنزيل الثيم من http://arabteam2000-forum.com/index.php/topic/287452-qdarkstylesheet-%D8%AB%D9%8A%D9%85-%D8%AF%D8%A7%D9%83%D9%86-%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-pysidepyqt4/

 

لكي يعمل زر الاضافة يجب ان تكون انشات قاعدة بيانات

هذا الكود ينشا قاعدة بيانات

#! /usr/bin/python# -*- coding: UTF-8 -*-import sqlite3sql = sqlite3.connect("db.sq3")con = sql.cursor()con.execute("create table dict (en text, ar text)")sql.commit()con.close()sql.close()

قم بوضعه مع البرنامج في نفس المجلد

تم تعديل بواسطه the.scorpion
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تمام خلاص أنا هشتغل علي الكلمات وقاعدة البيانات وأنتا تشتغل علي التطوير لأني ليس لدي فى الواجهات الرسومية الا قليل من الخبرة 

عندي لك سؤال لماذا لاتصنع الواجهات ببرنامج QtDesigner

وأقترح عليك أيضاً أن تقوم بعمل أتصال من جهاز المستخدم الي قاعدة البيانات الجديدة لتطوير البرنامج 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عند البحث من العربية الي الانجليزية ؟؟؟؟؟

من الواجب علينا عمل الية لكي لا نحفظ هذه الكلمات مرة أخري من أجل العربية الي الانجليزية

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

انا استخدمت QtDesigner 

 

 

من الواجب علينا عمل الية لكي لا نحفظ هذه الكلمات مرة أخري من أجل العربية الي الانجليزية

 

لم اقم بحفظ الكلمات الا مرة واحد لاحظ الكود

            words = con.fetchall()            for w in words:                if word == w[0]:                    self.ui.textBrowser.append(w[1])
            words = con.fetchall()            for w in words:                if word == w[1]:                    self.ui.textBrowser.append(w[0])

w[0] تمثل الكلمة الانجليزية

w[1] تمثل الكلمة العربية

ما قمت به مجرد عملية تبديل

 

 

وأقترح عليك أيضاً أن تقوم بعمل أتصال من جهاز المستخدم الي قاعدة البيانات الجديدة لتطوير البرنامج

ممكن توضيح الفكره

تم تعديل بواسطه the.scorpion
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

قمت بتحسين الكود

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'qttran.ui'## Created: Sat Mar 29 20:01:04 2014#      by: PyQt4 UI code generator 4.10## WARNING! All changes made in this file will be lost!from PyQt4 import QtCore, QtGuiimport sys, sqlite3try:    _fromUtf8 = QtCore.QString.fromUtf8except AttributeError:    def _fromUtf8(s):        return stry:    _encoding = QtGui.QApplication.UnicodeUTF8    def _translate(context, text, disambig):        return QtGui.QApplication.translate(context, text, disambig, _encoding)except AttributeError:    def _translate(context, text, disambig):        return QtGui.QApplication.translate(context, text, disambig)class Ui_MainWindow(object):    def setupUi(self, MainWindow):        MainWindow.setObjectName(_fromUtf8("MainWindow"))        MainWindow.resize(616, 459)        self.centralwidget = QtGui.QWidget(MainWindow)        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))        self.gridLayout = QtGui.QGridLayout(self.centralwidget)        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))        self.lineEdit = QtGui.QLineEdit(self.centralwidget)        self.lineEdit.setObjectName(_fromUtf8("lineEdit"))        self.gridLayout.addWidget(self.lineEdit, 0, 0, 1, 1)        self.add_word = QtGui.QPushButton(self.centralwidget)        self.add_word.setObjectName(_fromUtf8("add_word"))        self.gridLayout.addWidget(self.add_word, 5, 0, 1, 1)        self.translate = QtGui.QPushButton(self.centralwidget)        self.translate.setObjectName(_fromUtf8("translate"))        self.gridLayout.addWidget(self.translate, 0, 1, 1, 1)        self.label = QtGui.QLabel(self.centralwidget)        self.label.setObjectName(_fromUtf8("label"))        self.gridLayout.addWidget(self.label, 3, 1, 1, 1)        self.label_2 = QtGui.QLabel(self.centralwidget)        self.label_2.setObjectName(_fromUtf8("label_2"))        self.gridLayout.addWidget(self.label_2, 4, 1, 1, 1)        self.word_en = QtGui.QLineEdit(self.centralwidget)        self.word_en.setObjectName(_fromUtf8("word_en"))        self.gridLayout.addWidget(self.word_en, 3, 0, 1, 1)        self.word_ar = QtGui.QLineEdit(self.centralwidget)        self.word_ar.setObjectName(_fromUtf8("word_ar"))        self.gridLayout.addWidget(self.word_ar, 4, 0, 1, 1)        self.comboBox = QtGui.QComboBox(self.centralwidget)        self.comboBox.setObjectName(_fromUtf8("comboBox"))        self.comboBox.addItem(_fromUtf8(""))        self.comboBox.addItem(_fromUtf8(""))        self.gridLayout.addWidget(self.comboBox, 1, 0, 1, 2)        self.textBrowser = QtGui.QTextBrowser(self.centralwidget)        self.textBrowser.setObjectName(_fromUtf8("textBrowser"))        self.gridLayout.addWidget(self.textBrowser, 2, 0, 1, 2)        MainWindow.setCentralWidget(self.centralwidget)        self.menubar = QtGui.QMenuBar(MainWindow)        self.menubar.setGeometry(QtCore.QRect(0, 0, 616, 29))        self.menubar.setObjectName(_fromUtf8("menubar"))        MainWindow.setMenuBar(self.menubar)        self.statusbar = QtGui.QStatusBar(MainWindow)        self.statusbar.setObjectName(_fromUtf8("statusbar"))        MainWindow.setStatusBar(self.statusbar)        self.retranslateUi(MainWindow)        QtCore.QMetaObject.connectSlotsByName(MainWindow)    def retranslateUi(self, MainWindow):        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))        self.add_word.setText(_translate("MainWindow", "اضافة", None))        self.translate.setText(_translate("MainWindow", "ترجم", None))        self.label.setText(_translate("MainWindow", "الكلمة الانجلزية :", None))        self.label_2.setText(_translate("MainWindow", "الكلمة العربية :", None))        self.comboBox.setItemText(0, _translate("MainWindow", "من الانجليزية الى العربية", None))        self.comboBox.setItemText(1, _translate("MainWindow", "من العربية الى الانجليزية", None))class Tran(QtGui.QMainWindow):    def __init__(self, parent=None):        QtGui.QMainWindow.__init__(self, parent)        self.ui = Ui_MainWindow()        self.ui.setupUi(self)        QtCore.QObject.connect(self.ui.translate, QtCore.SIGNAL("clicked()"), self.fromto)        QtCore.QObject.connect(self.ui.add_word, QtCore.SIGNAL("clicked()"), self.add_words)    def add_words(self):        try:            self.ui.textBrowser.clear()            worden = unicode(self.ui.word_en.text())            wordar = unicode(self.ui.word_ar.text())            w = [(worden, wordar)]            if worden!="" and wordar!="":                sql = sqlite3.connect("db.sq3")                con = sql.cursor()                con.execute("insert into dict(en, ar) values(?,?)", w[0])                sql.commit()                con.close()                sql.close()                self.ui.textBrowser.append("Done.")        except Exception, e:            print(e)    def fromto(self):        i = unicode(self.ui.comboBox.currentText())        if i ==u"من الانجليزية الى العربية":            try:                self.ui.textBrowser.clear()                word = self.ui.lineEdit.text()                sql = sqlite3.connect("db.sq3")                con = sql.cursor()                con.execute("select * from dict")                words = con.fetchall()                for w in words:                    if word == w[0]:                        self.ui.textBrowser.append(w[1])                con.close()                sql.close()            except Exception,e:                print(e)        else:            try:                self.ui.textBrowser.clear()                word = self.ui.lineEdit.text()                sql = sqlite3.connect("db.sq3")                con = sql.cursor()                con.execute("select * from dict")                words = con.fetchall()                for w in words:                    if word == w[1]:                        self.ui.textBrowser.append(w[0])                con.close()                sql.close()            except Exception,e:                print(e)if __name__ == "__main__":    app = QtGui.QApplication(sys.argv)    myapp = Tran()    myapp.show()    sys.exit(app.exec_())
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

انا استخدمت QtDesigner 

 

 

لم اقم بحفظ الكلمات الا مرة واحد لاحظ الكود

            words = con.fetchall()            for w in words:                if word == w[0]:                    self.ui.textBrowser.append(w[1])
            words = con.fetchall()            for w in words:                if word == w[1]:                    self.ui.textBrowser.append(w[0])

w[0] تمثل الكلمة الانجليزية

w[1] تمثل الكلمة العربية

ما قمت به مجرد عملية تبديل

 

 

كلام جميل للكلمة أكثر من معني صحيح ؟

لكن أذا أدخلت معني واحد لا ينتج شئ 

لاحظ الصور:-

929033893.jpg

 

 

 

293889859.jpg

 

 

 

 

 

 

443819281.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

 

 

وأقترح عليك أيضاً أن تقوم بعمل أتصال من جهاز المستخدم الي قاعدة البيانات الجديدة لتطوير البرنامج

ممكن توضيح الفكره

 

أقصد عند تحديث البرنامج اذا قاعدة البيانات الخاصة بالكلمات قد تطورت بكلمات أكثر يطلب البرنامج بالتحديث للقاعدة ومن ثم يقوم بتنزيل قاعدة البيانات الجديدة من الانترنت 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

علي ما أعتقد أن فكرة تحديث القاعدة ممكن تحصل بدالة urllib2

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

حل مشكلة الكلمات هي تعديل الكود

                for w in words:                    if word == w[1]:                        self.ui.textBrowser.append(w[0])

ليصبح هكذا

                for w in words:                    wd = w[1].replace(" ", "").split(",")                    if word in wd:                        self.ui.textBrowser.append(w[0])

 

علي ما أعتقد أن فكرة تحديث القاعدة ممكن تحصل بدالة urllib2

حاول كتابة الكود

تم تعديل بواسطه the.scorpion
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

البرنامج كدة بيقي يشتغل عربي الي انجليزي بس  :excl:  :(

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الكود شغال عندي يبدو انك لم تعدل الكود كما يجب

هكذا تصبح الدالة بعد التعديل

    def fromto(self):        i = unicode(self.ui.comboBox.currentText())        if i ==u"من الانجليزية الى العربية":            try:                self.ui.textBrowser.clear()                word = self.ui.lineEdit.text()                sql = sqlite3.connect("db.sq3")                con = sql.cursor()                con.execute("select * from dict")                words = con.fetchall()                for w in words:                    if word == w[0]:                        self.ui.textBrowser.append(w[1])                con.close()                sql.close()            except Exception,e:                print(e)        else:            try:                self.ui.textBrowser.clear()                word = self.ui.lineEdit.text()                sql = sqlite3.connect("db.sq3")                con = sql.cursor()                con.execute("select * from dict")                words = con.fetchall()                for w in words:                    wd = w[1].replace(" ", "").split(",")                    if word in wd:                        self.ui.textBrowser.append(w[0])                con.close()                sql.close()            except Exception,e:                print(e)
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

قمت بتعديل الكود قليلا

بقي ان اضافة خاصية الترجمة باستخدام شبكة الوب ان شاء الله ساعمل على هذا الموضوع (اتمنى ان اجد شخص يرشدنا لبداية الطريق)

 

dict.py

# -*- coding: utf-8 -*-# dictionaryfrom PyQt4 import QtCore, QtGuiimport sys, add, sqlite3try:    _fromUtf8 = QtCore.QString.fromUtf8except AttributeError:    def _fromUtf8(s):        return stry:    _encoding = QtGui.QApplication.UnicodeUTF8    def _translate(context, text, disambig):        return QtGui.QApplication.translate(context, text, disambig, _encoding)except AttributeError:    def _translate(context, text, disambig):        return QtGui.QApplication.translate(context, text, disambig)class Ui_MainWindow(object):    def setupUi(self, MainWindow):        MainWindow.setObjectName(_fromUtf8("MainWindow"))        MainWindow.resize(616, 459)        self.centralwidget = QtGui.QWidget(MainWindow)        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))        self.gridLayout = QtGui.QGridLayout(self.centralwidget)        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))        self.lineEdit = QtGui.QLineEdit(self.centralwidget)        self.lineEdit.setObjectName(_fromUtf8("lineEdit"))        self.gridLayout.addWidget(self.lineEdit, 0, 1, 1, 1)        self.translate = QtGui.QPushButton(self.centralwidget)        self.translate.setObjectName(_fromUtf8("translate"))        self.gridLayout.addWidget(self.translate, 0, 2, 1, 1)        self.add_word = QtGui.QPushButton(self.centralwidget)        self.add_word.setObjectName(_fromUtf8("add_word"))        self.gridLayout.addWidget(self.add_word, 0, 0, 1, 1)        self.comboBox = QtGui.QComboBox(self.centralwidget)        self.comboBox.setObjectName(_fromUtf8("comboBox"))        self.comboBox.addItem(_fromUtf8(""))        self.comboBox.addItem(_fromUtf8(""))        self.comboBox.addItem(_fromUtf8(""))        self.comboBox.addItem(_fromUtf8(""))        self.gridLayout.addWidget(self.comboBox, 1, 0, 1, 3)        self.textBrowser = QtGui.QTextBrowser(self.centralwidget)        self.textBrowser.setObjectName(_fromUtf8("textBrowser"))        self.gridLayout.addWidget(self.textBrowser, 2, 0, 1, 3)        MainWindow.setCentralWidget(self.centralwidget)        self.menubar = QtGui.QMenuBar(MainWindow)        self.menubar.setGeometry(QtCore.QRect(0, 0, 616, 29))        self.menubar.setObjectName(_fromUtf8("menubar"))        MainWindow.setMenuBar(self.menubar)        self.statusbar = QtGui.QStatusBar(MainWindow)        self.statusbar.setObjectName(_fromUtf8("statusbar"))        MainWindow.setStatusBar(self.statusbar)        self.retranslateUi(MainWindow)        QtCore.QMetaObject.connectSlotsByName(MainWindow)    def retranslateUi(self, MainWindow):        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))        self.translate.setText(_translate("MainWindow", "ترجم", None))        self.add_word.setText(_translate("MainWindow", "+", None))        self.comboBox.setItemText(0, _translate("MainWindow", "من الانجليزية الى العربية", None))        self.comboBox.setItemText(1, _translate("MainWindow", "من العربية الى الانجليزية", None))        self.comboBox.setItemText(2, _translate("MainWindow", "Google(en to ar)", None))        self.comboBox.setItemText(3, _translate("MainWindow", "Google(ar to en)", None))class main(QtGui.QMainWindow):    def __init__(self, parent = None):        QtGui.QMainWindow.__init__(self)        self.ui = Ui_MainWindow()        self.ui.setupUi(self)        QtCore.QObject.connect(self.ui.translate, QtCore.SIGNAL("clicked()"), self.fromto)        QtCore.QObject.connect(self.ui.add_word, QtCore.SIGNAL("clicked()"), self.framee)    def framee(self):        f = add.main()        f.show()        sys.exit(f.exec_())    def fromto(self):        i = unicode(self.ui.comboBox.currentText())        if i == u"من الانجليزية الى العربية":            try:                self.ui.textBrowser.clear()                word = self.ui.lineEdit.text().replace(" ", "")                sql = sqlite3.connect("db.sq3")                con = sql.cursor()                con.execute("select * from dict")                words = con.fetchall()                for w in words:                    if word == w[0]:                        self.ui.textBrowser.append(w[1])                con.close()                sql.close()            except Exception,e:                print(e)        elif i == u"من العربية الى الانجليزية":            try:                self.ui.textBrowser.clear()                word = self.ui.lineEdit.text().replace(" ", "")                sql = sqlite3.connect("db.sq3")                con = sql.cursor()                con.execute("select * from dict")                words = con.fetchall()                for w in words:                    wd = w[1].replace(" ", "").split(",")                    if word in wd:                        self.ui.textBrowser.append(w[0])                con.close()                sql.close()            except Exception,e:                print(e)        elif i == "Google(en to ar)":            pass        elif i == "Google(ar to en)":            passif __name__ == "__main__":    app = QtGui.QApplication(sys.argv)    myapp = main()    myapp.show()    sys.exit(app.exec_())

add.py

# -*- coding: utf-8 -*-# add-wordsfrom PyQt4 import QtCore, QtGuiimport sys, sqlite3try:    _fromUtf8 = QtCore.QString.fromUtf8except AttributeError:    def _fromUtf8(s):        return stry:    _encoding = QtGui.QApplication.UnicodeUTF8    def _translate(context, text, disambig):        return QtGui.QApplication.translate(context, text, disambig, _encoding)except AttributeError:    def _translate(context, text, disambig):        return QtGui.QApplication.translate(context, text, disambig)class Ui_Frame(object):    def setupUi(self, Frame):        Frame.setObjectName(_fromUtf8("Frame"))        Frame.resize(614, 138)        Frame.setFrameShape(QtGui.QFrame.StyledPanel)        Frame.setFrameShadow(QtGui.QFrame.Raised)        self.gridLayout = QtGui.QGridLayout(Frame)        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))        self.lineEdit = QtGui.QLineEdit(Frame)        self.lineEdit.setObjectName(_fromUtf8("lineEdit"))        self.gridLayout.addWidget(self.lineEdit, 0, 0, 1, 1)        self.lineEdit_2 = QtGui.QLineEdit(Frame)        self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2"))        self.gridLayout.addWidget(self.lineEdit_2, 1, 0, 1, 1)        self.label = QtGui.QLabel(Frame)        self.label.setObjectName(_fromUtf8("label"))        self.gridLayout.addWidget(self.label, 0, 1, 1, 1)        self.label_2 = QtGui.QLabel(Frame)        self.label_2.setObjectName(_fromUtf8("label_2"))        self.gridLayout.addWidget(self.label_2, 1, 1, 1, 1)        self.horizontalLayout = QtGui.QHBoxLayout()        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))        spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)        self.horizontalLayout.addItem(spacerItem)        self.cansel = QtGui.QPushButton(Frame)        self.cansel.setObjectName(_fromUtf8("cansel"))        self.horizontalLayout.addWidget(self.cansel)        spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)        self.horizontalLayout.addItem(spacerItem1)        self.add_btn = QtGui.QPushButton(Frame)        self.add_btn.setObjectName(_fromUtf8("add_btn"))        self.horizontalLayout.addWidget(self.add_btn)        spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)        self.horizontalLayout.addItem(spacerItem2)        self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 2)        self.retranslateUi(Frame)        QtCore.QObject.connect(self.cansel, QtCore.SIGNAL(_fromUtf8("clicked()")), Frame.close)        QtCore.QMetaObject.connectSlotsByName(Frame)    def retranslateUi(self, Frame):        Frame.setWindowTitle(_translate("Frame", "Frame", None))        self.label.setText(_translate("Frame", "الكلمة الانجليزية :", None))        self.label_2.setText(_translate("Frame", "الكلمة العربية :", None))        self.cansel.setText(_translate("Frame", "الغاء الامر", None))        self.add_btn.setText(_translate("Frame", "اضافة", None))class main(QtGui.QFrame):    def __init__(self, parent = None):        QtGui.QFrame.__init__(self)        self.ui = Ui_Frame()        self.ui.setupUi(self)        QtCore.QObject.connect(self.ui.add_btn, QtCore.SIGNAL("clicked()"), self.add_word)    def add_word(self):        try:            worden = unicode(self.ui.lineEdit.text())            wordar = unicode(self.ui.lineEdit_2.text())            w = [(worden, wordar)]            if worden!="" and wordar!="":                sql = sqlite3.connect("db.sq3")                con = sql.cursor()                con.execute("insert into dict(en, ar) values(?,?)", w[0])                sql.commit()                con.close()                sql.close()        except Exception, e:            print(e)if __name__ == "__main__":    app = QtGui.QApplication(sys.argv)    myapp = main()    myapp.show()    sys.exit(app.exec_())
تم تعديل بواسطه the.scorpion
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يا أخي علي فكرة لوعملت برنامج أحسن من أن يترجم من علي الويب لأن المواقع الخاصة بالترجمة كثيرة جداً والبرامج التي تترجم بواسطة الأنترنت أيضاً كثير فلذلك البرنامج لن يكون ناجحاً أما أن البرامج التي لا تترجم بالويب قليلة جداً ومن أشهرها الوافي أنصحك أخي بالرجوع من فكرة الأنترنت 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .