zoukankan      html  css  js  c++  java
  • PyQt4 初试牛刀一

    建立了一个MainWindow,创建最基本的菜单栏、状态栏、工具栏,并重新定义了“X”关闭的默认行为。

    # -*- coding: utf-8 -*-
    import sys
    from PyQt4 import QtGui
    from PyQt4 import QtCore
    
    
    class Icon(QtGui.QMainWindow):
        def __init__(self, parent=None):
            super(Icon, self).__init__(parent)
    
            # MenuBar
            menubar = self.menuBar()
            file = menubar.addMenu('文件')
            fileopen = file.addAction('打开')
            fileopen.setStatusTip('打开文件')
            filexit = file.addAction('退出')
            filexit.setShortcut('Ctrl+Q')
            self.connect(filexit, QtCore.SIGNAL('triggered()'), self.exit)
            self.setMenuBar(menubar)
    
            # ToolBar
            editToolbar = self.addToolBar('设置')
            newTool = editToolbar.addAction(QtGui.QIcon('new.png'), '新建')
            saveTool = editToolbar.addAction(QtGui.QIcon('save.png'), '保存')
            self.connect(saveTool, QtCore.SIGNAL('triggered()'), self.save)
    
            exit = QtGui.QPushButton('Exit', self)
            exit.setGeometry(30, 100, 50, 30)
            exit.setToolTip('点击按钮关闭窗口')
            self.connect(exit, QtCore.SIGNAL('clicked()'), self.exit)
    
            # 设置窗口大小已经位置
            self.resize(350, 250)
            self.center()
    
            self.statusBar().showMessage('准备就绪')
            self.setWindowIcon(QtGui.QIcon('logo.png'))
            self.setWindowTitle('PyQt4 Demo')
    
        def closeEvent(self, event):
            replay = QtGui.QMessageBox.question(
                self, '温馨提示', '是否确定关闭窗口', QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
            if replay == QtGui.QMessageBox.Yes:
                event.accept()
            else:
                event.ignore()
    
        def save(self):
            replay = QtGui.QMessageBox.question(
                self, '温馨提示', '是否进行保存', QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
    
        def exit(self):
            sys.exit(0)
    
        def center(self):
            screenGeometry = QtGui.QDesktopWidget().screenGeometry()
            size = self.geometry()
            self.move((screenGeometry.width() - size.width()) / 2,
                      (screenGeometry.height() - size.height()) / 2)
    
    
    if __name__ == '__main__':
        app = QtGui.QApplication(sys.argv)
        icon = Icon()
        icon.show()
        app.exec_()
  • 相关阅读:
    游遍中国 —— 大街小巷、秘境与远方
    Batch Normalization 反向传播(backpropagation )公式的推导
    Batch Normalization 反向传播(backpropagation )公式的推导
    【社会/人文】概念的理解 —— 断舍离、饭(饭制版)
    【社会/人文】概念的理解 —— 断舍离、饭(饭制版)
    linux 线程的同步 一 (互斥量和信号量)
    linux find
    正则表达式30分钟入门教程-新
    linux sed命令详解 *****
    linux vim tutor
  • 原文地址:https://www.cnblogs.com/lkpp/p/7400049.html
Copyright © 2011-2022 走看看