Найти - Пользователи
Полная версия: pyqt qdialog
Начало » GUI » pyqt qdialog
1
legioner
пишу программу которая висит в трее. и по сигналу выводит на экран окно QDialog.
возникли проблемы:
1. мне нужно окно уведомления вывести на передний план (если есть возможность чтобы она на переднем плане оставалась)
2. как убрать заголовок окна
3. если я закрываю qdialog то программа в трее закрывается.

#!/usr/bin/env python
# coding: utf-8

import sys
import os
from PyQt4 import QtGui,QtCore


class AlarmWindow():
def __init__(self):
self.mes = MainAlarmWin()
self.mes.exec_()

class MainAlarmWin(QtGui.QDialog):
def __init__(self, parent=None):
super(MainAlarmWin, self).__init__(parent)
self.resize(300, 100)


class MainTrayAlarm(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.quitAction = QtGui.QAction('&Quit', self)
QtCore.QObject.connect(self.quitAction, QtCore.SIGNAL('triggered()'), QtGui.qApp, QtCore.SLOT('quit()'))
self.trayIconMenu = QtGui.QMenu(self)
self.trayIconMenu.addAction(self.quitAction)
self.trayIconPixmap = QtGui.QPixmap('icon.ico')
self.trayIcon = QtGui.QSystemTrayIcon(self)
self.trayIcon.setContextMenu(self.trayIconMenu)
self.trayIcon.setIcon(QtGui.QIcon(self.trayIconPixmap))
self.trayIcon.show()

self.timer = QtCore.QTimer(self)
QtCore.QObject.connect(self.timer, QtCore.SIGNAL('timeout()'), self.Message)
self.timer.start(5000)#in miliseconds

def Message(self):
AlarmWindow()


if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
win = MainTrayAlarm()
app.exec_()
homyakov
Использовать setWindowFlags. Можно посмотреть в примерах с PyQt в PyQt4\examples\widgets\windowflags.pyw
legioner
homyakov то что искал. Спасибо большое )
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB