Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Использование QPushButton в другом классе [RSS Feed]

#1 Июль 21, 2020 22:34:47

Feelgood
Зарегистрирован: 2016-08-04
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование QPushButton в другом классе

Вопрос состоит в том как из класса Lang обращатся к кнопкам:

         if self.ui.btn_en_lang.isChecked():
            self.ui.btn_en_lang.setDown(True)
        elif self.ui.btn_ru_lang.isChecked():
            self.ui.btn_ru_lang.setDown(True)
        elif self.ui.btn_de_lang.isChecked():
            self.ui.btn_de_lang.setDown(True)


 import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from ui import Ui_MainWindow
from googletrans import Translator
class Lang():
    def __init__(self):
        self.selected_language = ''
    def set_lang(self, selected_language):
        self.selected_language = selected_language
        
        if self.ui.btn_en_lang.isChecked():
            self.ui.btn_en_lang.setDown(True)
        elif self.ui.btn_ru_lang.isChecked():
            self.ui.btn_ru_lang.setDown(True)
        elif self.ui.btn_de_lang.isChecked():
            self.ui.btn_de_lang.setDown(True)
    
class TranslateText(QtWidgets.QMainWindow):
    def __init__(self):
        super(TranslateText, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.init_UI()
    
    def init_UI(self):
        self.setWindowTitle('Translator') 
        self.ui.btn_translate.clicked.connect(self.translate)
        self.ui.btn_check_lang.setDown(True)
        
        self.ui.btn_en_lang.setCheckable(True)
        self.ui.btn_ru_lang.setCheckable(True)
        self.ui.btn_de_lang.setCheckable(True)
        self.ui.btn_en_lang.clicked.connect(lambda: lang.set_lang('en'))
        self.ui.btn_ru_lang.clicked.connect(lambda: lang.set_lang('ru'))
        self.ui.btn_de_lang.clicked.connect(lambda: lang.set_lang('de'))
    def translate(self):
        input_text = self.ui.input_text.toPlainText()
        translated_text = translator.translate(input_text, dest=f'{lang.selected_language}')        
        self.ui.output_text.setPlainText(translated_text.text)    
if __name__ == '__main__':
    lang = Lang()
    translator = Translator()      
    app = QtWidgets.QApplication([])
    application = TranslateText()
    application.show()
    
    sys.exit(app.exec())

Отредактировано Feelgood (Июль 21, 2020 22:35:05)

Офлайн

#2 Июль 26, 2020 14:04:34

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2749
Репутация: +  184  -
Профиль   Отправить e-mail  

Использование QPushButton в другом классе

> Вопрос состоит в том как из класса Lang обращатся к кнопкам

С какой целью ты создаёшь класс Lang?



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

  • Начало
  • » GUI
  • » Использование QPushButton в другом классе[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version