PyQt5基本控件详解之QWidget(二)
程序员文章站
2022-03-10 21:42:38
...
QWidget
详解内容
-
-
两种常用的几何结构
不包含边框的常用函数
-
包含边框的常用函数
- 实例 :一屏幕坐标系统显示
- 实例二:设置程序图标
- 实例三:显示气泡提示信息
QWidget不含边框的常用函数
-
改变客服区的面积
QWidget.resize(width,heigth)
QWidget,resize(QSize)这两个函数改变了长方形的大小,其中第一个参数是宽度,第二个参数是高度。
设置了大小的窗口,还可以用鼠标来改变它的大小 -
获得客户区的大小
Qwidget.size()
-
获得客户区的宽度与高度
- QWidget.width()
- QWidget.height()
-
设置客户区的宽度与高度
- QWidget.setFixedWidth(int width)
使用上面这个函数,客户区的高度是固定的,不可以改变,只可以改变宽度
QWidget.setFixedHeight(int height)
- 使用上面这个函数,客户区的宽度是固定的,不可以改变,只可以改变高度
QWidget.setFixedSize(Qsize size)
QWidget.setFixedSize(int width,int height)
通过上面这两个函数,高度和宽度都是固定的,不可以通过鼠标来改变窗口的宽度与高度,
如果要同时改变客户区的大小和位置,需要用到以下函数
QWidget,setGeometry(int x, int y, int width, int height)
QWidget.setGeometry(QRect rect)
x和y对应的就是x和y坐标,可以不单独设置x和y坐标
QWidget包含边框的常用函数
获得窗口的大小和位置
-`QWidget.frameGeometry()设置窗口的位置
QWidget.move(int x,int y)
QWidget.move(QPoint,point)
- 获得窗口左上角的坐标
- QWidget.pos()
——————————————————————————-
实例一:屏幕坐标系统显示
from PyQt5.QtWidgets import QApplication,QMainWindow,QWidget,QPushButton
import sys
app=QApplication(sys.argv)
#窗口
widget=QWidget()
#按钮继承在窗口中,并实例化
btn=QPushButton(widget)
#按钮命名
btn.setText('button')
#以QWdiget左上角为(0,0)点,按钮移动到坐标处
btn.move(20,20)
#不同的操作系统可能对窗口的最小宽度有规定,若设置宽度小于规定值,则会以规定值进行显示
widget.resize(300,200)
#以屏幕左上角为(0,0)的点,窗口移动到指定坐标处
widget.move(250,200)
widget.setWindowTitle('pyqt坐标系统例子')
widget.show()
#输出窗口的rect(x,y,width,height)
print('QWidget:')
#x,y获取窗口左上角的坐标
print('w.x()=%d' %widget.x())
print('w.y()=%d' %widget.y())
#width,height获取客户区的宽度与高度
print('w.width()=%d' %widget.width())
print('w.height()=%d' %widget.height())
#客户区的大小
print('客户区的大小:%d' %widget.size())
print('QWidget.geometry')
#x,y获取客户区的左上角坐标(包含窗口的标题与边框部分)
print('widget.geometry().x()=%d' %widget.geometry().x())
print('widget.geometry().y()=%d' %widget.geometry().y())
#width,height获取客户区的宽度与高度
print('widget.geometry().width()=%d' %widget.geometry().width())
print('widget.geometry().height()=%d' %widget.geometry().height())
sys.exit(app.exec_())
效果如下图:输出客户区的相关属性
实例二:设置程序图标
import sys
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QWidget,QApplication
#创造一个名为Icon的窗口类,继承自Qwidget
class Icon(QWidget):
def __init__(self,parent=None):
super(Icon, self).__init__(parent)
self.initUI()
#初始化窗口
def initUI(self):
#设置窗口在屏幕中的位置与窗口的大小
self.setGeometry(300,300,250,150)
self.setWindowTitle('程序图标')
#设置窗口图标,需要提供图标的路径
self.setWindowIcon(QIcon('E:\pyqt5快速开发与实战\第四章\images\cartoon1.ico'))
if __name__ == '__main__':
app=QApplication(sys.argv)
icon=Icon()
icon.show()
sys.exit(app.exec_())
效果如下:实现了程序左上角图标的加载
实例三:显示气泡提示信息
import sys
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QWidget,QApplication,QToolTip
class WinForm(QWidget):
def __init__(self,parent=None):
super(WinForm, self).__init__(parent)
self.initUI()
def initUI(self):
#设置气泡提示信息的字体和大小
QToolTip.setFont(QFont('SansSerif',10))
#设置气泡提示
self.setToolTip('这是一个</b>气泡显示</b>')
self.setGeometry(200,300,400,400)
self.setWindowTitle('气泡提示demo')
if __name__ == '__main__':
app=QApplication(sys.argv)
win=WinForm()
win.show()
sys.exit(app.exec_())
效果如下:由于未知原因,气泡未能显示出来
源码以及相关文件下载:https://download.csdn.net/download/jia666666/10597897