poltergeist
Это можно вылечить так:
def closeEvent(self, event):
QtGui.QApplication.exit()
Что-то не пойму, эта функция куда ставится? Если на кнопку, то у меня не работает.
А если прописать через self.hide() выход будет правильным? В памяти ничего не останется?
# Python 3
# -*- coding: utf-8 -*-
import sys, os
from PyQt4 import QtCore, QtGui, Qt
from PyQt4.QtGui import (QWidget, qApp, QAction, QApplication, QHBoxLayout, QVBoxLayout,
QGridLayout, QLabel, QLineEdit, QTextEdit, QPushButton, QComboBox,
QCheckBox, QRadioButton, QFrame, QScrollArea, QTabWidget, QSizePolicy,
QGroupBox, QFileDialog, QMessageBox, QPlainTextEdit,
QLCDNumber, QSpinBox,
QBrush, QColor)
from PyQt4.QtGui import QIcon, QPixmap, QPalette, QTextCursor
class Opoveschenie(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.setMinimumSize(100, 100) # Минимальная ширина и высота окна
self.adjustSize()
self.setWindowTitle('Оповещение') # Заголовок
self.setWindowIcon(QIcon('res/res_picture/icon.png')) # Иконка
#self.setWindowFlags(QtCore.Qt.Window.WindowStaysOnTopHint()) # окно на передний план
self.setWindowFlags(self.windowFlags() | QtCore.Qt.WindowStaysOnTopHint)
sss_vivod = ("color: #f2f2f0; font: 16pt 'Courier New'")
text = 'Заданный<br>\
текст'
# БЛОК РАЗМЕТКИ
vbox_os = QVBoxLayout()
# ---
self.pole_1 = QTextEdit('<center>'+text+'</center>')
self.pole_1.setReadOnly(1)
self.pole_1.setStyleSheet(sss_vivod)
vbox_os.addWidget(self.pole_1)
# --- ---
self.button_ok = QPushButton('Ок')
self.button_ok.clicked.connect(self.closeEvent)
vbox_os.addWidget(self.button_ok)
# --- ---
vbox_os.addStretch()
self.setLayout(vbox_os) # установка рабочей области
def closeEvent(self, event):
self.hide()
#QtGui.QApplication.exit()
# КОНЕЦ
if __name__ == "__main__":
app = QApplication(sys.argv)
opoveschenie = Opoveschenie()
opoveschenie.move(40,500)
opoveschenie.show()
sys.exit(app.exec_())