@MikhailKnyazev, спасибо за объяснение концепции окна против фрейма. Тем не менее, я не могу заставить кнопки появляться. Не могли бы вы взглянуть на новый код?

аюсь загрузить меню на мой графический интерфейс, но мой объект класса не имеет атрибута self.menuBar (). Может ли кто-нибудь помочь мне, никакие учебники, кажется, не предлагают никакого решения.

class EmailBlast(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        bar = QtWidgets.menuBar() 
        file_menu = bar.addMenu('File')
        file_edit = bar.addMenu('Edit')        

Сообщение об ошибке:

File "BasicEmail.py", line 84, in email_config
self.ui = EmailBlast()
File "BasicEmail.py", line 96, in __init__
self.menuBar()
AttributeError: 'EmailBlast' object has no attribute 'menuBar'

Что мне здесь не хватает.

Обновленный проект:

class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
    super().__init__()
    self.email_blast_widget = EmailBlast()
    self.setCentralWidget(self.email_blast_widget)
    bar = self.menuBar()
    file_file = bar.addMenu('File')         
    file_edit = bar.addMenu('Edit') 

class EmailBlast(QtWidgets.QWidget):
def __init__(self):
    super().__init__()
    self.text_box = QtWidgets.QTextEdit(self)
    self.save_button = QtWidgets.QPushButton('Save')
    self.clear_button = QtWidgets.QPushButton('Clear')        
    self.open_button = QtWidgets.QPushButton('Open')        
    self.init_ui()

Ответы на вопрос(1)

Ваш ответ на вопрос