def __init__(self): self._app = QApplication([]) QApplication.setQuitOnLastWindowClosed(False) self._q_icon = QtGui.QIcon(":/image/image/tray_icon.png") self._tray_icon = QSystemTrayIcon(self._q_icon, self._app) self._menu = QMenu() self._tray_icon.setContextMenu(self.menu) #about_widget = loadUi("./Form/about.ui") about_widget = QtWidgets.QWidget() ui = AboutForm() ui.setupUi(about_widget) self._about_window = about_widget self._about_window.setWindowTitle('About Wallpaper Rotator Plus') self._about_window.setWindowIcon(self._q_icon) about_width = 348 about_height = 530 self._about_window.resize(about_width, about_height) self._about_window.setFixedSize(about_width, about_height) self._about_window.aboutCloseButton.clicked.connect(self._about_window.hide) self._about_window.hide() center_point = QDesktopWidget().availableGeometry().center() center_point.setX(center_point.x() - int(about_width / 2)) center_point.setY(center_point.y() - int(about_height / 2)) self._about_window.move(center_point)
class Qt_Window(QWidget): def __init__(self, event_queue): super().__init__() self.width = 400 self.height = 300 self.resize(self.width, self.height) self.center_window() self.event_queue = event_queue self.setWindowTitle("Aristos' App") self.show() def center_window(self): self.desktop_center = QDesktopWidget().availableGeometry().center() self.desktop_center.setX(self.desktop_center.x() - int(self.width / 2)) self.desktop_center.setY(self.desktop_center.y() - int(self.height / 2)) self.move(self.desktop_center) @pyqtSlot(Event) def respond_to_event(self, event): self.move(350, 700) print("Signal received") # print("Qt_Window received external event: ", event) def keyPressEvent(self, e): if e.isAutoRepeat(): return key = e.key() if key == qt.Key_Escape: self.event_queue.put(Event(Event_Type.GLOBAL_EXIT, None)) self.close() sys.exit(0) return elif key == qt.Key_C: self.move(200, 600) elif key == qt.Key_F: self.move(600, 200) elif key == qt.Key_E: self.event_queue.put(Event(Event_Type.UPDATE_GRAPHICS, None)) elif key < 0x10FFFF: self.event_queue.put(Event(Event_Type.KEY_DOWN, chr(key)))
def initWindow(self): self.resize(500, 300) deskcenter = QDesktopWidget().availableGeometry().center() deskcenter.setX(deskcenter.x() - 300) deskcenter.setY(deskcenter.y() - 200) self.move(deskcenter) self.setWindowIcon(QIcon('baidu.ico')) btn = QPushButton() btn.resize(100, 30) btn.setToolTip("this is <b>XGW</b>.") btn.setText("Click Here") btn.clicked.connect(self.close) btn2 = QPushButton() btn2.resize(120, 30) btn2.setText("QMessageBox") btn2.clicked.connect(self.but2connect) lab1 = QLabel() qfont = QFont() qfont.setPixelSize(22) qfont.setBold(True) qfont.setItalic(True) lab1.setFont(qfont) lab1.setText("i'm a QLabel") hlayout = QHBoxLayout() hlayout.addWidget(btn) hlayout.addWidget(btn2) hlayout1 = QHBoxLayout() hlayout1.addWidget(lab1) vlayout = QVBoxLayout() vlayout.addLayout(hlayout) vlayout.addLayout(hlayout1) self.setLayout(vlayout) self.setStatusTip("xiaogongwei") self.setWindowTitle("PyQt5") self.setToolTip("this is ToolTip") self.show()