建立 PyQt6 窗口

建立 PyQt6 窗口

这篇教学会介绍如何开始使用 PyQt6 建立基本的应用程序窗口,以及通过常用的窗口参数,进行窗口的相关设定。

快速导航 :

  • 建立 PyQt6 窗口

  • 调整窗口样式

  • 在窗口中放入其他组件

建立 PyQt6 窗口

PyQt6 创建窗口的起手式,会先使用 QtWidgets.QApplication(sys.argv) 创建应用程序,接着使用 QtWidgets.QWidget() 放入基底组件,作为摆放其他组件的基底,窗口程序使用 sys.exit(app.exec()) 作为结尾,意义上等同将程序包裹在一个无限循环里,下方的代码执行后,会出现一个空的窗口界面。

from PyQt6 import QtWidgets
import sys

app = QtWidgets.QApplication(sys.argv)  

Form = QtWidgets.QWidget()             

Form.show()                            
sys.exit(app.exec())

改用 class 写法:

from PyQt6 import QtWidgets
import sys

class MyWidget(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    Form = MyWidget()
    Form.show()
    sys.exit(app.exec())

调整窗口样式

创建窗口组件后,就能使用下列几种常用方法设定样式:

方法参数说明
setWindowTitle()str设定标题。
resize()width, height设定开启窗口时的长宽。
setStyleSheet()style使用网页 CSS 样式设置样式 ( 不支持 CSS3 语法 )。
width()取得窗口宽度。
height()取得窗口高度。

下面的代码执行后,会产生一个 320x240 粉红色背景的窗口,同时会印出该窗口的长宽。

from PyQt6 import QtWidgets
import sys

app = QtWidgets.QApplication(sys.argv)

Form = QtWidgets.QWidget()
Form.setWindowTitle('千牛编程思维')      # 设置标题
Form.resize(320, 240)                   # 设置大小
Form.setStyleSheet('background:#fcc;')  # 设置样式

print(Form.width())                     
print(Form.height())                   

Form.show()
sys.exit(app.exec())

改用 class 写法:

from PyQt6 import QtWidgets
import sys

class MyWidget(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('千牛编程思维')      
        self.resize(320, 240)                   
        self.setStyleSheet('background:#fcc;')  
        print(self.width())                     
        print(self.height())                   

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    Form = MyWidget()
    Form.show()
    sys.exit(app.exec())

image-20230320203603780

在窗口中放入其他组件

建立基底的组件后,就能在里面加入其他的组件,下方的代码执行后,会在窗口里加入一个文字为 hello world 的 Label。

from PyQt6 import QtWidgets
import sys

app = QtWidgets.QApplication(sys.argv)

Form = QtWidgets.QWidget()
Form.setWindowTitle('千牛编程思维')
Form.resize(320, 240)
Form.setStyleSheet('background:#fcc;')

label = QtWidgets.QLabel(Form)          # 在 Form 里添加label
label.move(50,50)                       # 移动到 (50, 50) 的位置
label.setText('hello world')            # 写入文字
label.setStyleSheet('font-size:30px; color:#00c')  # 设定样式

Form.show()
sys.exit(app.exec())

改用 class 写法:

from PyQt6 import QtWidgets
import sys

class MyWidget(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('千牛编程思维')
        self.resize(320, 240)
        self.setStyleSheet('background:#fcc;')
        self.ui()

    def ui(self):
        self.label = QtWidgets.QLabel(self)          
        self.label.move(50,50)                       
        self.label.setText('hello world')            
        self.label.setStyleSheet('font-size:30px; color:#00c')  

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    Form = MyWidget()
    Form.show()
    sys.exit(app.exec())

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值