2.2 常用控件

直接上教程中这部分的代码

python 复制代码
import sys
from PySide6.QtWidgets import (QApplication, QWidget, QVBoxLayout, 
                               QLabel, QLineEdit, QPushButton, 
                               QCheckBox, QRadioButton, QComboBox)

class WidgetsExample(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("常用控件示例")
        self.setup_ui()
    
    def setup_ui(self):
        layout = QVBoxLayout()
        
        # 标签
        label = QLabel("这是一个标签")
        layout.addWidget(label)
        
        # 文本框
        text_edit = QLineEdit()
        text_edit.setPlaceholderText("请输入文本")
        layout.addWidget(text_edit)
        
        # 按钮
        button = QPushButton("提交")
        layout.addWidget(button)
        
        # 复选框
        checkbox = QCheckBox("我同意条款")
        layout.addWidget(checkbox)
        
        # 单选框
        radio1 = QRadioButton("选项1")
        radio2 = QRadioButton("选项2")
        layout.addWidget(radio1)
        layout.addWidget(radio2)
        
        # 下拉框
        combo = QComboBox()
        combo.addItems(["选项A", "选项B", "选项C"])
        layout.addWidget(combo)
        
        self.setLayout(layout)

app = QApplication(sys.argv)
window = WidgetsExample()
window.show()
sys.exit(app.exec())

运行看看:

已经是一个非常漂亮的界面了!

接下来,看看是如何实现的,走起!

程序分为三部分:

第一部分和第三部分:与之前的程序一模一样!

所以重点攻克第二部分即可。

第二部分是一个自定义的类。

下面部分已经很熟悉了,跟之前也是一样的。所以区别就主要在自定义的方法。

所以重点就是这个自定义的方法了

这里涉及到几个新的类:

QLabel:标签

可以看到QLabel实际上也是QtWidgets模块中的一个类。其他控件也都类似。

QLineEdit:输入框

QCheckBox:复选框

QRadioButton:单选框

QCheckBox:下拉框

不知不觉十点了,下班下班,明天继续!

越来越有感觉了!nice!

相关推荐
破茧蝴蝶7 小时前
Python分布式爬虫完整教程
开发语言·python
benchmark_cc7 小时前
量化系统架构设计:为什么应该将数据获取与策略逻辑解耦?
python·数据分析·pandas·量化交易·股票数据·quantdash
狗凯之家源码网7 小时前
全新 PHP 轻量客服聊天室源码深度评测
开发语言·php·聊天室系统
凤山老林7 小时前
Spring Boot 启动冲刺:耗时剖析、懒加载策略与事件驱动初始化优化
spring boot·后端·python
小白快快跑哦8 小时前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算
远离UE48 小时前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5
keyipatience8 小时前
JavaScript学习(1)书写位置,变量、数据类型、运算符
开发语言·前端·javascript·css·学习
Thinker QAQ8 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
道满科技8 小时前
Function Calling 参数总出错?只修参数就行
linux·windows·python
栈帧之外9 小时前
【C++】STL之set
开发语言·c++