热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pyqt5第一个程序——显示一个窗口,button,更换图标,显示message

fromPyQt5importQtWidgets,QtGuiimportsysappQtWidgets.QApplication(sys.argv)windowQtWidget

 

from PyQt5 import QtWidgets, QtGui
import sysapp = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget();
window.resize(250, 150)
window.move(300, 300)
window.setWindowTitle('window')
window.show()
sys.exit(app.exec_())

程序和运行结果:

可以给窗口换个图标

from PyQt5 import QtWidgets, QtGui
from PyQt5.QtGui import QIcon
import sysapp = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget();
window.resize(250, 150)
window.move(100, 300)
window.setWindowTitle('window')
window.setWindowIcon(QIcon('pic.png'))
window.show()
sys.exit(app.exec_())

程序文件以及运行结果

 

 添加一个button

from PyQt5 import QtWidgets,QtGui
from PyQt5.QtWidgets import QPushButton
from PyQt5.QtGui import QIcon
import sysapp = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget();
window.setGeometry(0,0,300,300)
window.setWindowTitle('window')
window.setWindowIcon(QIcon('pic.png'))
btn = QPushButton('Button', window)
#btn.setToolTip('This is a QPushButton widget')
btn.resize(60,30)
btn.move(100, 100)
window.show()
sys.exit(app.exec_())

结束程序的button

from PyQt5 import QtWidgets,QtGui
from PyQt5.QtWidgets import QPushButton
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QCoreApplication
import sysapp = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget();
window.setGeometry(0,0,300,300)
window.setWindowTitle('window')
window.setWindowIcon(QIcon('pic.png'))
btn = QPushButton('Quit', window)
btn.clicked.connect(QCoreApplication.instance().exit)
btn.resize(60,30)
btn.move(100, 100)
window.show()
sys.exit(app.exec_())

程序运行结果:按下quit,这个程序会结束,注意观看python命令行

 

Message Box

默认的,如果我们点击了标题栏上的x按钮,QWidget会被关闭。又是我们希望修改这个默认动作。举个例子,如果我们有个文件在编辑器内打开,并且我们对这个文件做了一些修改。 我们显示一个message box来确认这个动作。

from PyQt5 import QtWidgets,QtGui
from PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QMessageBox
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QCoreApplication
import sysclass Example(QWidget):def __init__(window):super().__init__()#这一行必须有QtWidgets.QWidget()#这一行可有可无window.iniUI()def iniUI(window):'''window = QtWidgets.QWidget();'''window.setGeometry(0,0,300,300)window.setWindowTitle('window')window.setWindowIcon(QIcon('pic.png'))btn = QPushButton('Quit', window)btn.clicked.connect(QCoreApplication.instance().exit)btn.resize(60,30)btn.move(50, 50) window.show()def closeEvent(window,event):reply = QMessageBox.question(window, 'Message',"Are you sure to quit?", QMessageBox.Yes |QMessageBox.No, QMessageBox.No)if reply == QMessageBox.Yes:event.accept()else:event.ignore()app = QtWidgets.QApplication(sys.argv)
wdg=Example()
sys.exit(app.exec_())

 说明:这个程序必须定义一个类(以我现有的知识,可能说的不对),不然事件提示定义,虽然也可以运行,但运行窗口直接弹出Message,根本不用点击 X 号。

程序运行结果

本文参考了http://www.cnblogs.com/archisama/p/5444032.html,十分感谢。 

 


推荐阅读
author-avatar
Mr-long類
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有