PyQt5. Диалоговое окно. Как убрать кнопку ОК?
Как убрать кнопку ОК или переименовать её? Она появляется по умолчанию.
def FileNotSave(self):
self.dlg = QMessageBox()
self.dlg.show()
self.dlg.yes =
self.dlg.addButton("Да",QMessageBox.AcceptRole)
self.dlg.no =
self.dlg.addButton("Нет",QMessageBox.AcceptRole)
self.dlg.canel =
self.dlg.addButton("Назад",QMessageBox.RejectRole)
self.dlg.setIcon(QMessageBox.Information)
self.dlg.setWindowTitle("Сохранение")
self.dlg.setInformativeText("Сохранить текущий документ?")
self.dlg.exec()
if self.dlg.clickedButton() == self.dlg.yes:
if self.path == None:
#self.SaveWhat()
pass
else:
#self.Save()
pass
return 1
elif self.dlg.clickedButton() == self.dlg.no:
return 1
else:
return 0
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Я отметил для вас строки, которые я поменял.
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import *
class Winform(QWidget):
def __init__(self,parent=None):
super(Winform,self).__init__(parent)
self.btn = QPushButton("Вызвать FileNotSave", self)
self.btn.setGeometry(QRect(100, 100, 75, 23))
self.btn.adjustSize()
self.btn.clicked.connect(self.FileNotSave)
def FileNotSave(self):
self.dlg = QMessageBox()
# self.dlg.show() # это ваш OK
# self.dlg.yes =
self.dlg.addButton("Да", QMessageBox.AcceptRole)
# self.dlg.no =
self.dlg.addButton("Нет", QMessageBox.AcceptRole)
# self.dlg.canel =
self.dlg.addButton("Назад",QMessageBox.RejectRole)
self.dlg.setIcon(QMessageBox.Information)
self.dlg.setWindowTitle("Сохранение")
self.dlg.setInformativeText("Сохранить текущий документ?")
bttn = self.dlg.exec()
# if self.dlg.clickedButton() == self.dlg.yes:
if self.dlg.clickedButton().text() == "Да": # + text()
print("Да")
'''
if self.path == None:
#self.SaveWhat()
pass
else:
#self.Save()
pass
'''
return 1
elif self.dlg.clickedButton().text() == "Нет": # + text()
print("Нет")
return 1
else:
print("Назад")
return 0
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Winform()
form.show()
sys.exit(app.exec_())
