Gui PyQt5 - как сделать часть интерфейса появляющейся в MainWindow после нажатия кнопки - Python

Узнай цену своей работы

Формулировка задачи:

Привет сообществу! Ломаю мозг и зубы об графику для консольного приложения с использованием PyQt5, не могу понять элементарную вещь. Просветите, как сделать часть интерфейса появляющейся в MainWindow после нажатия кнопки.

Если можно, лучше объяснить, а не скидывать готовое решение

. Заранее спасибо. Hi folks PyQt5 is really a stumbling block for me. I'm trying to make one part of interface appear in MainWindow as user clicks a button, but anything goes wrong. Could you help me?

It would be better to explain how to do it than just sending ready-to-use code

, if it's possible. Thanks beforehand.

Решение задачи: «Gui PyQt5 - как сделать часть интерфейса появляющейся в MainWindow после нажатия кнопки»

textual
Листинг программы
import os
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget, QPushButton, QMainWindow, QLineEdit
from PyQt5.QtGui import QIcon
class main_window (QMainWindow):
    
    def __init__(self):
        
        
        super().__init__()
        self.initUI ()
        self.line_edit ()
        
        
    def initUI (self):
        
        
        scr_width = int(QDesktopWidget().availableGeometry().width())
        scr_height = int(QDesktopWidget().availableGeometry().height())
        self.setGeometry (0,0, scr_width, scr_height)
        self.setWindowTitle ('LibList')
        self.setWindowIcon(QIcon('icon.png'))
        
        
        button_give = QPushButton ('Выдать классу', self)
        button_give.resize (400, 200)
        button_give.move (scr_width - 420, 20)
        button_give.clicked.connect(self.button_clicked)
        
        
        button_search = QPushButton ('Найти файл', self)
        button_search.resize (400, 200)
        button_search.move (scr_width - 420, 240)
        button_search.clicked.connect(self.button_clicked)
        
        
        button_redact = QPushButton ('Отредактировать файл', self)
        button_redact.resize (400, 200)
        button_redact.move (scr_width - 420, 460)
        button_redact.clicked.connect(self.button_clicked)
        
        
        button_end = QPushButton ('Закончить работу', self)
        button_end.resize (400, 200)
        button_end.move (scr_width - 420, 680)
        button_end.clicked.connect(self.button_clicked)
        
        self.show ()
        
    def line_edit (self):
        
        line_edit_class_num = QLineEdit (self)
        line_edit_class_num.setPlaceholderText ('Введите цифру класса*')
        line_edit_class_num.move (20, 20)
        line_edit_class_num.resize (380, 40)
        
        
        line_edit_class_let = QLineEdit (self)
        line_edit_class_let.setPlaceholderText ('Введите букву класса*')
        line_edit_class_let.move (20, 80)
        line_edit_class_let.resize (380, 40)
        
        
        line_edit_class_pup = QLineEdit (self)
        line_edit_class_pup.setPlaceholderText ('Введите количество обучающихся в классе*')
        line_edit_class_pup.move (20, 140)
        line_edit_class_pup.resize (380, 40)
        
        
        line_edit_class_tut = QLineEdit (self)
        line_edit_class_tut.setPlaceholderText ('Введите имя классного руководителя*')
        line_edit_class_tut.move (20, 200)
        line_edit_class_tut.resize (380, 40)
        
        
        line_edit_class_prof = QLineEdit (self)
        line_edit_class_prof.setPlaceholderText ('Введите профиль/профили класса')
        line_edit_class_prof.move (20, 260)
        line_edit_class_prof.resize (380, 40)
        
        self.hide ()
        
        
    def button_clicked (self):
        
        sender = self.sender()
        self.statusBar().showMessage(sender.text() + ' was pressed')
        if sender.text() == 'Выдать классу':
            self.statusBar().showMessage('1 was pressed')
            self.line_edit_class_num.setVisible (isVisible)
            self.line_edit_class_let.setVisible (isVisible)
            self.line_edit_class_pup.setVisible (isVisible)
            self.line_edit_class_tut.setVisible (isVisible)
            self.line_edit_class_prof.setVisible (isVisible)
        elif sender.text() == 'Найти файл':
            self.statusBar().showMessage('2 was pressed')
        else:
            if sender.text() == 'Отредактировать файл':
                self.statusBar().showMessage('3 was pressed')
            else:
                self.statusBar().showMessage('4 was pressed')


app = QApplication(sys.argv)
mw = main_window ()
sys.exit(app.exec_())

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.5 из 5
Похожие ответы