PyQt5学习 (2)--QWidget(下)

发布时间 2023-03-28 21:00:23作者: Charaine

层级关系、层级控制:
调整Z轴顺序

点击查看代码
label1 = QLabel(window)
label1.setText("标签1")
label1.resize(200, 200)
label1.setStyleSheet("background-color: red;")

label2 = QLabel(window)
label2.setText("标签2")
label2.resize(200, 200)
label2.setStyleSheet("background-color: green;")
label2.move(100, 100)
# 标签2在标签1上方,现在想把标签2移动下去,在标签1的下方
label2.lower()  # 使控件在最下方
label1.raise_()  # 使控件在最上方
label2.stackUnder(label1)  # 使控件在某控件下方

窗口特定操作
1.图标标题和不透明度

点击查看代码
window.setWindowTitle("窗口相关的操作")  # 凡是顶层控件,都可以设置标题
icon = QIcon("madeline.jpg")  # 可以放入路径或直接放入图像
window.setWindowIcon(icon)    # 设置窗口图标
print(window.windowIcon())    # 获取窗口图标
window.setWindowOpacity(0.5)  # 设置窗口不透明度(1为不透明,0为透明)
print(window.windowOpacity())  # 获取窗口不透明度

2.窗口状态(最小化,最大化,全屏等等)

点击查看代码
window1 = QWidget()
window2 = QWidget()
print(window1.windowState() == Qt.WindowNoState)
window1.setWindowState(Qt.WindowMinimized)   # 设置窗口状态为最小化
window1.setWindowState(Qt.WindowMaximized)   # 设置窗口状态为最大化
window1.setWindowState(Qt.WindowFullScreen)  # 设置窗口状态为全屏
window1.show()
window2.show()
window1.setWindowState(Qt.WindowActive)   # 活动窗口,使w1在w2前

3.最大化最小化

点击查看代码
window1.showMaximized()  # 展示并使窗口最大化(带show就可以)
window1.showFullScreen()  # 全屏
window1.showMinimized()  # 最小化
window1.showNormal()

window1.isMaximized()  # 判断是否是最大化
window1.isMinimized()  # 判断是否是最大化
window1.isFullScreen()  # 判断是否是全屏

4.窗口标志

image

点击查看代码
window = QWidget(flags=Qt.FramelessWindowHint)  # 设置无边框窗口(法1)
window = QWidget()
window.setWindowFlag(Qt.FramelessWindowHint)   # 设置无边框窗口(法2)
window.setWindowOpacity(0.5)   # 设置窗口不透明度