【Python学习日记:PySide6】【持续更新】

目标:

  • 1. 了解PySide6有哪些常用模块,常用类
  • 2. 如何进行ui文件的编译,如何将编译的UI文件在pycharm中进行显示

说明:PySide6 是 Qt for Python 的一部分,是一个 Python 绑定库,可以用来创建跨平台的 GUI 应用程序。它将 Qt 框架的丰富功能带到了 Python 环境中,允许开发者使用 Python 编写 GUI 应用程序。

目录

1. PySide6主要模块

1.1 QtCore

1.2 QtWidgets

1.3 QtGui

2.  UI文件的编译与调用

3. 控件(信号与槽函数)

3.1 QPushButton

3.2 Label

3.3  LineEdit

3.4 QFileDialog

3.5 布局(layout)控件

3.6 QSlider控件


1. PySide6主要模块
1.1 QtCore

作用:包含 Qt 的核心非 GUI 功能,是所有模块的基础。提供了基本的数据类型、事件循环、信号与槽机制、多线程支持和日期时间等功能。

##主要类

QtCore模块主要类
QObject所有 Qt 对象的基类,支持信号和槽。
QTimer用于定时触发事件。
QThread实现多线程处理。
QEventLoop管理事件循环,处理事件分发和调度
QDateTime, QTime, QDate用于日期和时间的处理。
QSettings用于应用程序设置的读写操作。
1.2 QtWidgets

作用:用于构建传统桌面图形用户界面的模块,包含大多数 UI 组件===也就是创建的控件模块

##主要类

QWidget所有界面组件的基类
QMainWindow, QDialog主窗口和对话框
QPushButton, QLabel, QLineEdit常用的界面组件,如按钮、标签和文本框
QTableWidget, QTreeWidget, QListWidget提供列表、树状结构和表格等复杂组件
QVBoxLayout, QHBoxLayout布局管理器,用于组织界面组件的位置
QApplication实例用于管理整个应用程序的生命周期

## QApplication

说明QApplication 是 PySide6 中的一个核心类,用于管理应用程序的全局状态和设置。它是所有 Qt GUI 应用程序的基础,必须在任何 GUI 组件创建之前创建一个 QApplication 实例

. 应用程序生命周期管理

  • QApplication 实例用于管理整个应用程序的生命周期。它会处理事件循环,监听和分发系统事件。
  • 通过调用 app.exec() 方法来启动事件循环,使应用进入事件监听模式,等待用户输入事件(如点击、键盘输入等)。
  • 应用程序结束时,会自动清理所有窗口和控件,确保资源释放。

下面为显示自己的窗体的基础框架

from PySide6.QtWidgets import QApplication ,QMainWindow,QVBoxLayout,QPushButton,QWidget
import sys


'''创建一个类,并继承自己在QT设计师里面创建的窗体'''
class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()  # 继承父类初始化方法


if __name__ == '__main__':
  # app = QApplication(sys.argv)   # 同样写法,不影响,后续可能会传入一些参数
    app=QApplication([])       # 1.创建QApplication实例
    window=MyWindow()          #  2. 创建窗口实例
    window.show()              #  3. 调用show()方法显示
    app.exec()                 #  4. app.exec() 启动事件循环

注意:必须在任何 GUI 组件创建之前创建一个 QApplication 实例,也就是说想让组件或者窗体显示必须创建QApplication 实例。

1.3 QtGui

作用:提供窗口系统集成、事件处理、2D 图形、图像处理和字体等功能。

##主要类

QtGui模块主要类
QPainter提供绘制 2D 图形的工具。
QImage, QPixmap用于图像处理和显示
QColor, QFont, QPen, QBrush用于颜色、字体、画笔等绘图工具的处理
QIcon, QCursor用于图标和鼠标指针的处理

2.  UI文件的编译与调用

说明:使用QT设计师设计的窗体为.ui文件,要想在Pycharm中显示出来,需要将其进行编译为.py文件,然后再进行调用。

(1)如何进行编译?(自己一般使用这种方式)

pyside6-uic path/to/yourfile.ui -o path/to/yourfile_ui.py

解释:

  • pyside6-uic 是 PySide6 提供的命令行工具,用于将 .ui 文件转换为 Python 文件。
  • -o 参数用于指定输出文件名。

(2)如何进行调用?

注意:继承的窗体要与自己在QT设计师中窗体类型一致,例如自己创建QWidget类型,那么就要继承QWidget类型的,窗体的类型有三种:QMainWindow,QWidget,,QDialog

## 第一种方式

class MyWindow(QWidget):
    def __init__(self):
        super().__init__()  # 继承父类初始化方法

        # 第一种办法
        self.ui=Ui_Form()     # 使用一个变量来保存窗体文件
        self.ui.setupUi(self) # setupUi(),自己编译好的窗体文件的函数,需要传入一个窗体,
                              # 窗体的类型有三种:QMainWindow,QWidget,,QDialog

## 第二种方式

 # 先继承QWidget,在继承Ui_Form
class MyWindow(QWidget,Ui_Form):
    def __init__(self):
        super().__init__()  # 继承父类初始化方法

        # # 第一种办法
        # self.ui=Ui_Form()     # 使用一个变量来保存窗体文件
        # self.ui.setupUi(self) # setupUi(),自己编译好的窗体文件的函数,需要传入一个窗体,
        #                       # 窗体的类型有三种:QMainWindow,QWidget,,QDialog
        # 第二种办法
        self.setupUi(self)

## 总体

from PySide6.QtWidgets import QApplication ,QMainWindow,QVBoxLayout,QPushButton,QWidget
import sys
from JS import Ui_Form


 # 先继承QWidget,在继承Ui_Form
class MyWindow(QWidget,Ui_Form):
    def __init__(self):
        super().__init__()  # 继承父类初始化方法

        # # 第一种办法
        # self.ui=Ui_Form()     # 使用一个变量来保存窗体文件
        # self.ui.setupUi(self) # setupUi(),自己编译好的窗体文件的函数,需要传入一个窗体,
        #                       # 窗体的类型有三种:QMainWindow,QWidget,,QDialog
        # 第二种办法
        self.setupUi(self)

if __name__ == '__main__':
  # app = QApplication(sys.argv)   # 同样写法,不影响,后续可能会传入一些参数
    app=QApplication([])
    window=MyWindow()
    window.show()
    app.exec()

3. 控件(信号与槽函数)

说明:大多数基础控件都有相似的属性,也有自己专属属性。例如:一般都可以

self.btn.setGeometry(),self.btn.setLayout(),self.btn.setFont(),self.btn.setText() 等等来设置自己的属性。

说明1:在 PySide6(以及整个 Qt 框架)中,**信号与槽(Signal and Slot)**是用于实现不同对象间通信的机制。这种机制特别适用于 GUI 编程,因为它可以将用户的操作(如点击按钮、输入文本等)与程序的行为(如弹出窗口、更新数据等)关联起来。信号与槽机制类似于事件驱动机制,但更灵活。

1. 信号(Signal)

信号表示事件的触发或状态的改变。信号可以是标准的(由 Qt 提供)或自定义的(由开发者定义)。

  • 标准信号:Qt 中的组件通常有许多预定义的信号,例如 QPushButtonclicked 信号表示按钮被点击,QLineEdittextChanged 信号表示文本内容发生了变化。
  • 自定义信号:开发者可以在自己的类中定义信号,以便在特定事件发生时触发。例如,一个类可能在数据发生变化时发送一个信号。

2. 槽(Slot)

是一个普通的 Python 函数,负责处理信号触发后所执行的操作槽函数与信号关联时,当信号被触发,槽函数会自动调用。槽函数可以是任何可以被调用的 Python 函数、方法,甚至可以是内建函数或 lambda 表达式。

3. 信号与槽的连接

信号和槽可以通过 connect(传入一个函数) 方法连接,使信号触发时,槽函数自动执行。

断开信号与槽的连接

可以使用 disconnect() 方法断开信号和槽的连接:

注意: 每一个控件都有特定的信号与槽函数,可能有的相似

3.1 QPushButton

说明:QPushButton 是一个带文本标签的按钮,它通常用于触发某个操作。可以使用默认的按钮样式,或设置图标、自定义样式等。可以在QT设计师中设置一些属性,也可以在后续的代码中进行调整,设置属性。(有好多可以自己尝试)

例如:设置按钮文本==就是更改按钮上的文字

button.setText("New Text")

(1)clicked 信号

  • 当按钮被点击时触发 clicked 信号。可以将 clicked 信号连接到一个槽函数,实现按钮点击的响应

(2)pressedreleased 信号

  • pressed 信号在按钮被按下时触发。
  • released 信号在按钮被释放时触发。

槽函数:就是一个函数,当点击按钮的时候,实现某种功能。例如点击按钮实现两数相加,编写一个两数相加的函数传入connect()中

from PySide6.QtWidgets import QApplication ,QMainWindow,QVBoxLayout,QPushButton,QWidget

from UI.login import Ui_Form    # 导入编译好的UI文件


'''创建一个类,并继承自己在QT设计师里面创建的窗体'''
class MyWindow(QWidget,Ui_Form):
    def __init__(self):
        super().__init__()  # 继承父类初始化方法
        self.setupUi(self)
        self.btn.clicked.connect(self.denglu)

    def denglu(self):
        # 获得账户
        account=self.lineEdit.text()
        # 获得密码
        password=self.lineEdit_2.text()

        if account=="123" and password=="123":
            print("登录成功")
        else:
            print("请重新输出密码")

if __name__ == '__main__':
  # app = QApplication(sys.argv)   # 同样写法,不影响,后续可能会传入一些参数
    app=QApplication([])       # 1.创建QApplication实例
    window=MyWindow()          #  2. 创建窗口实例
    window.show()              #  3. 调用show()方法显示
    app.exec()                 #  4. app.exec() 启动事件循环

结果:

3.2 Label

说明:QLabel 是 PySide6 中用于显示文本、图像、以及其他简单内容的控件类。它通常用于展示只读信息,如标签、图片、图标等。QLabel 支持多种格式的文本显示,并具有丰富的样式控制,可以用于应用程序中的各种静态内容展示需求。

1. QLabel 的基本功能

创建 QLabel 的基本语法如下:

from PySide6.QtWidgets import QLabel

label = QLabel("Hello, QLabel!")

2. QLabel 的常见属性和方法

(1)设置文本(Text)

QLabel 可以使用 setText() 方法设置显示的文本,文本可以是普通字符串,也可以包含 HTML 格式:

label.setText("Hello, QLabel!")
# 或者 HTML 文本
label.setText("<b>Hello, <i>QLabel</i>!</b>")

(2)显示图像(Pixmap)

可以用 setPixmap() 方法设置标签显示一张图片,通常需要 QPixmap 来加载图像文件:

from PySide6.QtGui import QPixmap

label.setPixmap(QPixmap("path/to/image.png"))

3.3  LineEdit

说明:QLineEdit 是 PySide6 中的一个控件,用于创建单行的文本输入框。用户可以在其中输入、编辑和删除文本内容。QLineEdit 提供了多种功能和方法,使其适用于表单、用户名和密码输入、搜索框等用途。

1. 常用功能

(1)设置文本内容(属性)

可以通过 setText() 方法设置 QLineEdit 中显示的文本,使用 text() 方法获取当前文本。

line_edit.setText("预设内容")
current_text = line_edit.text()

(2)密码模式(属性)

QLineEdit 支持密码输入模式,将显示的文本替换为掩码字符(例如 *),常用于密码输入

line_edit.setEchoMode(QLineEdit.Password)

其他 EchoMode 选项包括:

  • QLineEdit.Normal:显示普通文本。
  • QLineEdit.Password:显示密码掩码字符。
  • QLineEdit.NoEcho:隐藏输入内容,不显示任何内容。
  • QLineEdit.PasswordEchoOnEdit:在编辑时显示密码,失去焦点后用掩码显示。

(1)清空文本()

可以通过 clear() 方法清除输入框内容。

line_edit.clear()

2. 信号与槽

说明:QLineEdit 提供了多种信号用于处理用户输入的事件。

(1)textChanged 信号

当文本内容改变时,textChanged 信号会被触发。

line_edit.textChanged.connect(lambda text: print("文本内容更改为:", text))

(2)returnPressed 信号

当用户按下 Enter 键时,returnPressed 信号会触发,适合用于表单提交或搜索等功能。

line_edit.returnPressed.connect(lambda: print("用户按下了 Enter 键"))

(3)textEdited 信号

当用户手动编辑内容时触发 textEdited 信号,适合用于监控用户的输入操作。

line_edit.textEdited.connect(lambda text: print("用户编辑了内容:", text))
from PySide6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QLineEdit, QLabel
from PySide6.QtGui import QIntValidator
from PySide6.QtCore import Qt
import sys

class LineEditDemo(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QLineEdit Demo")

        # 布局
        layout = QVBoxLayout()

        # 带占位符的 QLineEdit
        line_edit1 = QLineEdit()
        line_edit1.setPlaceholderText("请输入文本")
        layout.addWidget(line_edit1)

        # 带密码模式的 QLineEdit
        line_edit2 = QLineEdit()
        line_edit2.setPlaceholderText("请输入密码")
        line_edit2.setEchoMode(QLineEdit.Password)
        layout.addWidget(line_edit2)

        # 带整数校验器的 QLineEdit
        line_edit3 = QLineEdit()
        line_edit3.setPlaceholderText("请输入 0 到 100 的整数")
        int_validator = QIntValidator(0, 100)
        line_edit3.setValidator(int_validator)
        layout.addWidget(line_edit3)

        # 带最大长度限制的 QLineEdit
        line_edit4 = QLineEdit()
        line_edit4.setPlaceholderText("最多输入 10 个字符")
        line_edit4.setMaxLength(10)
        layout.addWidget(line_edit4)

        # 信号展示
        self.label = QLabel("输入内容将会显示在这里")
        line_edit1.textChanged.connect(self.update_label)
        layout.addWidget(self.label)

        # 设置中央窗口
        container = QWidget()
        container.setLayout(layout)
        self.setCentralWidget(container)

    def update_label(self, text):
        self.label.setText(f"当前输入: {text}")

app = QApplication(sys.argv)
window = LineEditDemo()
window.show()
app.exec()

3.4 QFileDialog

说明:QFileDialog 是 PySide6 中的一个文件对话框控件,通常用于让用户选择文件或文件夹,适用于文件的打开、保存等操作。它提供了许多灵活的选项来控制文件类型过滤、默认路径、对话框模式等。

from PySide6.QtWidgets import QApplication, QFileDialog, QWidget
import sys

app = QApplication([])

# 创建 QWidget 作为父窗口
parent_widget = QWidget()

# 打开文件对话框,选择文件
file_path, _ = QFileDialog.getOpenFileName(parent_widget, "选择文件", "", "所有文件 (*.*);;文本文件 (*.txt)")

if file_path:
    print(f"用户选择的文件路径: {file_path}")

app.exec()

## QFileDialog 常用静态方法

QFileDialog 提供了几个静态方法用于简化文件选择操作:

  • getOpenFileName():显示一个对话框让用户选择单个文件。
  • getOpenFileNames():显示对话框让用户选择多个文件。
  • getSaveFileName():显示保存文件对话框。
  • getExistingDirectory():显示文件夹选择对话框。

每个静态方法都接受多个参数来控制对话框的显示行为。

## 以下是常用的 QFileDialog.Options

  • QFileDialog.DontUseNativeDialog:不使用操作系统的原生文件对话框,而使用 Qt 的默认样式。
  • QFileDialog.ShowDirsOnly:仅显示文件夹,不显示文件。
  • QFileDialog.DontResolveSymlinks:不解析符号链接,显示符号链接路径而不是目标路径。
  • QFileDialog.ReadOnly:只读模式,用户不能对文件或文件夹进行修改。
  • QFileDialog.HideNameFilterDetails:隐藏文件过滤器详细信息。

##getOpenFileName()

说明:getOpenFileName() 用于打开一个文件选择对话框,让用户选择单个文件。

语法:

QFileDialog.getOpenFileName(parent=None, caption='', directory='', filter='', options=QFileDialog.Options())

参数

  • parent:指定父窗口,一般是主窗口或 QWidget。
  • caption:对话框的标题文本(可选),例如 "选择文件"
  • directory:默认打开的目录路径,支持使用 ~ 表示用户主目录。
  • filter:设置文件类型过滤器,例如 "所有文件 (*.*);;文本文件 (*.txt)",以分号 ;; 分隔不同类型相同类型以空格隔开,例如,图片文件 (*.jpg *.png)
  • options:用于设置对话框的额外选项,使用 QFileDialog.Options 枚举来控制对话框行为。

返回一个包含两个元素的元组 (filePath, selectedFilter)

  • filePath:用户选择的文件路径,若未选择则为空字符串。
  • selectedFilter:用户选择的文件过滤器,若未选择则为空字符串。
from PySide6.QtWidgets import QApplication ,QMainWindow,QVBoxLayout,QPushButton,QWidget,QFileDialog


'''创建一个类,并继承自己在QT设计师里面创建的窗体'''
class MyWindow(QWidget):
    def __init__(self):
        super().__init__()  # 继承父类初始化方法
        btn=QPushButton("选择文件")
        btn.clicked.connect(self.open_file)

        btn1 = QPushButton("选择文件")
        btn1.clicked.connect(self.open_file)



        # 设置布局
        self.main_layout=QVBoxLayout()
        self.main_layout.addWidget(btn)
        self.setLayout(self.main_layout)

    def open_file(self):
        # 使用 QFileDialog 打开文件对话框
        file_path, _ = QFileDialog.getOpenFileName(self, "请选择文件", 'D:', "All Files (*);;图像文件 (*.jpg)")

注意:注意返回值为两个值

##其他函数

4. getOpenFileNames() 方法

getOpenFileNames() 允许用户选择多个文件,返回一个文件路径列表。

语法:

QFileDialog.getOpenFileNames(parent=None, caption='', directory='', filter='', options=QFileDialog.Options())

返回值:与 getOpenFileName() 类似,不同的是返回一个 (filePaths, selectedFilter) 元组,其中 filePaths 是用户选择的文件路径列表。

5. getSaveFileName() 方法

getSaveFileName() 用于保存文件的对话框,通常设置默认文件名并支持文件类型过滤。

语法:

QFileDialog.getSaveFileName(parent=None, caption='', directory='', filter='', options=QFileDialog.Options())

返回一个包含两个元素的元组 (filePath, selectedFilter)

  • filePath:用户输入或选择的文件路径。
  • selectedFilter:用户选择的文件过滤器。

6. getExistingDirectory() 方法  :

getExistingDirectory() 用于选择文件夹,返回所选文件夹的路径。

语法:

QFileDialog.getExistingDirectory(parent=None, caption='', directory='', options=QFileDialog.Options())

返回值:返回用户选择的文件夹路径,若未选择则返回空字符串。

##  QFileDialog 的自定义实例方法

除了上述静态方法,QFileDialog 还可以通过实例化对象来自定义更复杂的文件对话框

例子:

dialog = QFileDialog(parent_widget, "选择文件")
dialog.setFileMode(QFileDialog.ExistingFiles)  # 设置为可选择多个文件
dialog.setNameFilter("图片文件 (*.png *.jpg);;所有文件 (*.*)")
dialog.setDirectory("~")

if dialog.exec():
    selected_files = dialog.selectedFiles()
    print("选择的文件:", selected_files)

常用实例方法

  • setFileMode():设置文件选择模式,支持以下模式:

    • QFileDialog.AnyFile:允许选择文件,不论文件是否存在。
    • QFileDialog.ExistingFile:仅能选择已存在的单个文件。
    • QFileDialog.ExistingFiles:允许选择多个已存在的文件。
    • QFileDialog.Directory:仅允许选择文件夹。
    • QFileDialog.DirectoryOnly:仅允许选择文件夹(不显示文件)。
  • setNameFilter():设置文件类型过滤器。

  • setDirectory():设置默认目录。

  • setViewMode():设置视图模式(图标模式或列表模式)。

3.5 布局(layout)控件

说明:在 PySide6 中,布局(layout)是用来管理和组织控件(widgets)的位置和大小的组件。布局可以帮助我们自动调整控件的位置,使得应用程序在不同窗口大小下保持一致的外观。在QT设计师中设置好布局,就无需在代码中在再设置布局,除非需要更改布局

PySide6 提供了几种常用的布局类:

  1. QVBoxLayout - 垂直布局
  2. QHBoxLayout - 水平布局
  3. QGridLayout - 网格布局
  4. QFormLayout - 表单布局

1. QVBoxLayout(垂直布局)

QVBoxLayout 是一种垂直布局,它会将控件按垂直方向从上到下依次排列

步骤:

  1. 创建布局实例
  2. 向布局里添加控件
  3. 将布局设置到窗口上
from PySide6.QtWidgets import QApplication ,QMainWindow,QVBoxLayout,QPushButton,QWidget



'''创建一个类,并继承自己在QT设计师里面创建的窗体'''
class MyWindow(QWidget):
    def __init__(self):
        super().__init__()  # 继承父类初始化方法

        # 创建布局实例
        self.main_layout=QVBoxLayout()
        # 向布局里面添加控件
        self.main_layout.addWidget(QPushButton("按钮"))
        # 将布局设置到窗口上
        self.setLayout(self.main_layout)

if __name__ == '__main__':
  # app = QApplication(sys.argv)   # 同样写法,不影响,后续可能会传入一些参数
    app=QApplication([])       #  1.创建QApplication实例
    window=MyWindow()          #  2. 创建窗口实例
    window.show()              #  3. 调用show()方法显示
    app.exec()                 #  4. app.exec() 启动事件循环

3.6 QSlider控件

说明:QSlider 是 PySide6 提供的一个滑块控件,用于允许用户在一个范围内选择一个值。滑块通常在用户界面中用于调整音量、亮度等可调节值。

主要属性和方法

方向属性

  • Qt.Horizontal:水平滑块。
  • Qt.Vertical:垂直滑块。

值控制

  • setMinimum(value)setMaximum(value):设置滑块的最小值和最大值。
  • setValue(value):将滑块设定为指定值。
  • value():获取滑块当前的值。
  • setSingleStep(value):设置滑块每次移动的步长值,即点击滑块条时值的变化量。
  • setPageStep(value):设置页步长,通常是用键盘方向键时滑块的移动量。

刻度和显示位置

  • setTickPosition(position):设置刻度位置,常用选项包括:
    • QSlider.NoTicks:不显示刻度。
    • QSlider.TicksAbove / QSlider.TicksBelow:刻度在滑块上方/下方(水平)。
    • QSlider.TicksLeft / QSlider.TicksRight:刻度在滑块左侧/右侧(垂直)。
  • setTickInterval(interval):设置刻度间隔值,即每隔多少单位显示一个刻度。

信号()

  • valueChanged(int):当滑块值发生变化时触发,传递当前值。常用于更新显示、实时调整参数等情况。
  • sliderPressed():当用户按下滑块时触发。
  • sliderReleased():当用户释放滑块时触发。
  • sliderMoved(int):当用户拖动滑块时触发,传递当前值。
  • actionTriggered(int):在滑块发生某些动作(如步长增减)时触发,用于自定义行为。

例子:

from PySide6.QtWidgets import QApplication, QSlider, QVBoxLayout, QLabel, QWidget
from PySide6.QtCore import Qt

class SliderExample(QWidget):
    def __init__(self):
        super().__init__()
        
        # 创建标签和滑块
        self.label = QLabel("值: 0")
        self.slider = QSlider(Qt.Horizontal)  # 创建水平滑块
        self.slider.setMinimum(0)  # 最小值
        self.slider.setMaximum(100)  # 最大值
        self.slider.setValue(0)  # 初始值
        self.slider.setTickPosition(QSlider.TicksBelow)  # 刻度显示在滑块下方
        self.slider.setTickInterval(10)  # 每 10 个单位显示一个刻度
        
        # 信号和槽函数连接
        self.slider.valueChanged.connect(self.update_label)

        # 设置布局
        layout = QVBoxLayout()
        layout.addWidget(self.label)
        layout.addWidget(self.slider)
        self.setLayout(layout)
        
    def update_label(self, value):
        # 更新标签显示的滑块值
        self.label.setText(f"值: {value}")

if __name__ == "__main__":
    app = QApplication([])
    window = SliderExample()
    window.show()
    app.exec()

代码解释

  1. 创建滑块方向QSlider(Qt.Horizontal) 创建一个水平滑块。也可以使用 QSlider(Qt.Vertical) 创建垂直滑块。
  2. 设置滑块的最小值和最大值:通过 setMinimum()setMaximum(),我们设置了滑块的取值范围。
  3. 设置初始值setValue() 可以指定滑块的初始值。
  4. 刻度显示setTickPosition(QSlider.TicksBelow) 将刻度设置在滑块下方,适用于水平滑块。对于垂直滑块,TicksLeftTicksRight 表示刻度在左或右。
  5. 刻度间隔setTickInterval() 指定显示刻度的间隔值。
  6. 信号与槽:使用 valueChanged 信号连接到 update_label 方法,每当滑块值改变时,会调用该方法更新标签内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值