【PyQt501】基本功能

本文介绍了PyQt5的基础使用方法,包括创建窗口、设置图标、显示提示语、关闭窗口等功能,通过实例展示了如何使用PyQt5进行GUI界面设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PyQt5基本功能

简单的例子

PyQt5是一种高级的语言,下面只有几行代码就能显示一个小窗口。底层已经实现了窗口的基本功能。

import sys
from PyQt5.QtWidgets import QApplication, QWidget   #基本控件位于pyqt5.qtwidgets模块中。

if __name__ == '__main__':
	app = QApplication(sys.argv)
	w = QWidget()   #QWidget()方法调整窗口的大小。
	w.resize(800,400)
	w.move(300,300)
	w.setWindowTitle('Simple')  #设置窗口的标题。
	w.show()#显示在屏幕上。
	sys.exit(app.exec_())   #系统exit()方法确保应用程序干净的退出。

运行结果如下:
在这里插入图片描述

应用程序的图标

应用程序图标是一个小的图像,通常在标题栏的左上角显示。在下面的例子中我们将介绍如何做pyqt5的图标。同时我们也将介绍一些新方法。

import sys
from PyQt5.QtWidgets import QApplication,QWidget
from PyQt5.QtGui import QIcon

class Example(QWidget):

	def __init__(self):
    	super().__init__()
    	self.initUI()    #界面绘制交给InitUi方法

	def initUI(self):
    	self.setGeometry(300,300,300,220)
    	self.setWindowTitle('Icon')
    	self.setWindowIcon(QIcon('icon.jpg'))
    	self.show()

if __name__ == '__main__':
	app = QApplication(sys.argv)
	ex = Example()
	sys.exit(app.exec_())

运行结果如下:
在这里插入图片描述

显示提示语

import sys
from PyQt5.QtWidgets import QApplication,QWidget,QToolTip,QPushButton
from PyQt5.QtGui import QIcon,QFont

class Example(QWidget):

	def __init__(self):
    	super().__init__()
    	self.initUI()    #界面绘制交给InitUi方法。

	def initUI(self):
   		QToolTip.setFont(QFont('Sanserif',10))     #这种静态的方法设置一个用于显示工具提示的文字。

    	self.setToolTip('This is a <b>QWidget</b> widget')

    	btn = QPushButton('Button',self)
    	btn.setToolTip('This is a <b>QPushButton</b> widget')

    	btn.resize(btn.sizeHint())  #显示默认尺寸。

    	btn.move(50,50) #移动窗口的位置。

    	self.setGeometry(300,300,300,220)
    	self.setWindowTitle('Icon')
    	self.setWindowIcon(QIcon('icon.jpg'))
    	self.show()

if __name__ == '__main__':
	app = QApplication(sys.argv)
	ex = Example()
	sys.exit(app.exec_())

运行结果如下:
在这里插入图片描述

关闭窗口

设置退出按钮来退出窗口。

import sys
from PyQt5.QtWidgets import QApplication,QWidget,QToolTip,QPushButton
from PyQt5.QtGui import QIcon,QFont
from PyQt5.QtCore import QCoreApplication

class Example(QWidget):

	def __init__(self):
    	super().__init__()
   	    self.initUI()    #界面绘制交给InitUi方法。

	def initUI(self):
   		QToolTip.setFont(QFont('Bold',10))     #这种静态的方法设置一个用于显示工具提示的文字。

   		self.setToolTip('This is a <b>QWidget</b> widget')

    	btn = QPushButton('Button',self)
    	btn.setToolTip('This is a <b>QPushButton</b> widget')
    	btn.resize(100,40)  #显示默认尺寸。
    	btn.move(100,350) #移动窗口的位置。

    	qbtn = QPushButton('Quit',self)
    	qbtn.setToolTip('This is a <b>QPushButton</b> widget')
    	qbtn.clicked.connect(QCoreApplication.instance().quit)
    	qbtn.resize(100,40)
    	qbtn.move(400,350)

    	self.setGeometry(300,300,600,400)
    	self.setWindowTitle('Icon')
    	self.setWindowIcon(QIcon('icon.jpg'))
    	self.show()

if __name__ == '__main__':
	app = QApplication(sys.argv)
	ex = Example()
	sys.exit(app.exec_())

消息框

默认情况下,如果我们单击x按钮窗口就关门了。有时我们想修改这个默认的行为。例如我们在编辑器中修改了一个文件,当关闭他的时候,我们显示一个消息框确认。

import sys
from PyQt5.QtWidgets import QApplication,QWidget,QToolTip,QPushButton,QMessageBox
from PyQt5.QtGui import QIcon,QFont
from PyQt5.QtCore import QCoreApplication

class Example(QWidget):

	def __init__(self):
    	super().__init__()
    	self.initUI()    #界面绘制交给InitUi方法。

	def initUI(self):
    	QToolTip.setFont(QFont('Bold',10))     #这种静态的方法设置一个用于显示工具提示的文字。

    	self.setToolTip('This is a <b>QWidget</b> widget')

    	btn = QPushButton('Button',self)
    	btn.setToolTip('This is a <b>QPushButton</b> widget')
    	btn.resize(100,40)  #显示默认尺寸。
    	btn.move(100,350) #移动窗口的位置。

    	qbtn = QPushButton('Quit',self)
    	qbtn.setToolTip('This is a <b>QPushButton</b> widget')
    	qbtn.clicked.connect(QCoreApplication.instance().quit)
    	qbtn.resize(100,40)
    	qbtn.move(400,350)

    	self.setGeometry(300,300,600,400)
    	self.setWindowTitle('OCR文字识别')
    	self.setWindowIcon(QIcon('icon.jpg'))
    	self.show()

	def closeEvent(self,event):
    	reply = QMessageBox.question(self,'Message',
        	"Are you sure to quit?",QMessageBox.Yes |
        	QMessageBox.No,QMessageBox.No)

    	if reply == QMessageBox.Yes:
        	event.accept()
    	else:
        	event.ignore()

if __name__ == '__main__':
	app = QApplication(sys.argv)
	ex = Example()
	sys.exit(app.exec_())

在这里插入图片描述

窗口显示在屏幕的中间

import sys
from PyQt5.QtWidgets import QApplication,QWidget,QToolTip,QPushButton,QMessageBox,QDesktopWidget
from PyQt5.QtGui import QIcon,QFont
from PyQt5.QtCore import QCoreApplication

class Example(QWidget):

	def __init__(self):
    	super().__init__()
    	self.initUI()    #界面绘制交给InitUi方法。

	def initUI(self):
    	QToolTip.setFont(QFont('Bold',10))     #这种静态的方法设置一个用于显示工具提示的文字。

    	self.setToolTip('This is a <b>QWidget</b> widget')

    	btn = QPushButton('Button',self)
    	btn.setToolTip('This is a <b>QPushButton</b> widget')
    	btn.resize(100,40)  #显示默认尺寸。
    	btn.move(100,350) #移动窗口的位置。

    	qbtn = QPushButton('Quit',self)
    	qbtn.setToolTip('This is a <b>QPushButton</b> widget')
    	qbtn.clicked.connect(QCoreApplication.instance().quit)
    	qbtn.resize(100,40)
    	qbtn.move(400,350)

    	self.resize(600,400)
    	self.center()
    	self.setWindowTitle('OCR文字识别')
    	self.setWindowIcon(QIcon('icon.jpg'))
    	self.show()

	def center(self):

    	qr = self.frameGeometry()   #获得屏幕中心点
    	cp = QDesktopWidget().availableGeometry().center()
    	qr.moveCenter(cp)
    	self.move(qr.topLeft())

	def closeEvent(self,event):
    	reply = QMessageBox.question(self,'Message',
        	"Are you sure to quit?",QMessageBox.Yes |
        	QMessageBox.No,QMessageBox.No)

    	if reply == QMessageBox.Yes:
        	event.accept()
    	else:
        	event.ignore()

if __name__ == '__main__':
	app = QApplication(sys.argv)
	ex = Example()
	sys.exit(app.exec_())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值