目录
一.2021,不念过往,不畏将来
不能颓了!不能颓了!不能颓了!(重要的事情说三遍)
无论过去如何,新的一年的请暂且先将一切烦恼抛之脑后,多陪陪家人,和老友聚聚会,看看家乡,放空自己吧。有时候感觉代码敲久了真的感觉自己性格都变了,越来越冷漠,越来越想脱离身边的环境,越来越喜欢独处,这样有好处,但时间久了也不太好,还是要常和朋友玩玩,做一个真正热爱生活的人,控制好自己的脾气,而不是一个只在别人面前开朗的人。
送给大家一句话:
I leave uncultivated today, was precisely yesterday perishestomorrow which person of the body implored.
译文:
我荒废的今日,正是昨日殒身之人祈求的明日。
共勉之!
二.绝对布局
代码:
import sys,math
from PyQt5.QtWidgets import *
class AbsoluteLayout(QWidget):
def __init__(self):
super(AbsoluteLayout, self).__init__()
self.setWindowTitle('绝对布局')
self.resize(300,200)
self.label1=QLabel('欢迎',self)
self.label1.move(15,20)
self.label2=QLabel('学习',self)
self.label2.move(35,40)
self.label2 = QLabel('PyQt5', self)
self.label2.move(55, 80)
if __name__=='__main__':
app=QApplication(sys.argv)
main=AbsoluteLayout()
main.show()
sys.exit(app.exec_())
运行结果:
三.水平盒布局(QHBoxLayout)
代码:
import sys,math
from PyQt5.QtWidgets import *
class HBoxLayout(QWidget):
def __init__(self):
super(HBoxLayout, self).__init__()
self.setWindowTitle('水平盒布局')
self.resize(300,200)
hlayout=QHBoxLayout()
hlayout.addWidget(QPushButton('按钮1'))
hlayout.addWidget(QPushButton('按钮2'))
hlayout.addWidget(QPushButton('按钮3'))
hlayout.addWidget(QPushButton('按钮4'))
hlayout.addWidget(QPushButton('按钮5'))
#设置控件之间的间距
hlayout.setSpacing(40)
self.setLayout(hlayout)
if __name__=='__main__':
app=QApplication(sys.argv)
main=HBoxLayout()
main.show()
sys.exit(app.exec_())
运行结果:
四.设置控件的对齐方式
代码:
import sys,math
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class HBoxLayout(QWidget):
def __init__(self):
super(HBoxLayout, self).__init__()
self.setWindowTitle('水平盒布局')
self.resize(300,200)
hlayout=QHBoxLayout()
'''
参数二:拉伸量(几个单位),eg:按钮1后面有2个单位的拉伸,按钮2后面有4个单位的拉伸
参数三:对齐方式,eg:按钮1是按照左上方对齐,其他以此类推
'''
hlayout.addWidget(QPushButton('按钮1'),2,Qt.AlignLeft|Qt.AlignTop)
hlayout.addWidget(QPushButton('按钮2'),4,Qt.AlignLeft|Qt.AlignTop)
hlayout.addWidget(QPushButton('按钮3'),1,Qt.AlignLeft|Qt.AlignTop)
hlayout.addWidget(QPushButton('按钮4'),1,Qt.AlignLeft|Qt.AlignBottom)
hlayout.addWidget(QPushButton('按钮5'),1,Qt.AlignLeft|Qt.AlignBottom)
#设置控件之间的间距
hlayout.setSpacing(40)
self.setLayout(hlayout)
if __name__=='__main__':
app=QApplication(sys.argv)
main=HBoxLayout()
main.show()
sys.exit(app.exec_())
运行结果:
五.垂直盒布局
代码:
import sys,math
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class VBoxLayout(QWidget):
def __init__(self):
super(VBoxLayout, self).__init__()
self.setWindowTitle('垂直盒布局')
self.resize(300,200)
hlayout=QVBoxLayout()
'''
参数二:拉伸量(几个单位),eg:按钮1后面有2个单位的拉伸,按钮2后面有4个单位的拉伸
参数三:对齐方式,eg:按钮1是按照左上方对齐,其他以此类推
'''
hlayout.addWidget(QPushButton('按钮1'))
hlayout.addWidget(QPushButton('按钮2'))
hlayout.addWidget(QPushButton('按钮3'))
hlayout.addWidget(QPushButton('按钮4'))
hlayout.addWidget(QPushButton('按钮5'))
#设置控件之间的间距
hlayout.setSpacing(40)
self.setLayout(hlayout)
if __name__=='__main__':
app=QApplication(sys.argv)
main=VBoxLayout()
main.show()
sys.exit(app.exec_())
运行结果:
六.设置布局的伸缩量
代码1:
import sys,math
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class Stretch(QWidget):
def __init__(self):
super(Stretch, self).__init__()
self.setWindowTitle('设置伸缩量')
self.resize(800,100)
btn1=QPushButton(self)
btn2 = QPushButton(self)
btn3 = QPushButton(self)
btn1.setText('按钮1')
btn2.setText('按钮2')
btn3.setText('按钮3')
layout=QHBoxLayout()
#伸缩量,在水平布局里有讲过
layout.addStretch(1) #在按钮前面添加伸缩单位
layout.addWidget(btn1)
layout.addStretch(2)
layout.addWidget(btn2)
layout.addStretch(3)
layout.addWidget(btn3)
self.setLayout(layout)
if __name__=='__main__':
app=QApplication(sys.argv)
main=Stretch()
main.show()
sys.exit(app.exec_())
运行结果1:
代码2:
下面代码实现的效果是一部分代码在左侧,另一部分在右侧。
import sys,math
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class Stretch(QWidget):
def __init__(self):
super(Stretch, self).__init__()
self.setWindowTitle('设置伸缩量')
self.resize(1000,100)
btn1=QPushButton(self)
btn2 = QPushButton(self)
btn3 = QPushButton(self)
btn4 = QPushButton(self)
btn5 = QPushButton(self)
btn1.setText('按钮1')
btn2.setText('按钮2')
btn3.setText('按钮3')
btn4.setText('按钮4')
btn5.setText('按钮5')
layout=QHBoxLayout()
layout.addStretch(0)#伸缩量设置为0,是先排列
layout.addWidget(btn1)
layout.addWidget(btn2)
layout.addWidget(btn3)
layout.addWidget(btn4)
layout.addWidget(btn5)
btnOK=QPushButton(self)
btnOK.setText('确定')
btnCancel = QPushButton(self)
btnCancel.setText('取消')
layout.addStretch(1)
layout.addWidget(btnOK)
layout.addWidget(btnCancel)
self.setLayout(layout)
if __name__=='__main__':
app=QApplication(sys.argv)
main=Stretch()
main.show()
sys.exit(app.exec_())
运行结果2: