常用控件1

大家可以先根据我们网站自学。

如果自学速度慢、难点搞不定,欢迎来报 实战班 学习。
白月黑羽 1对1连线 讲解答疑,大量练习实战,学习效果是自学没法比的。还有商业项目实战,可以写入简历。

点击这里查看实战班介绍 咨询微信:18502556834

本章和接下来几章,会列出Qt的 常见控件 ,并且描述这些控件的 常用操作

要了解Qt 所有控件 和它们 所有操作 ,请参阅如下官方手册:

PySide2官方手册 - 控件


按钮

QPushButton 就是常见的按钮

官网介绍

信号:被点击

当按钮被点击就会发出 clicked 信号,可以这样指定处理该信号的函数

button.clicked.connect(handleCalc)

方法:改变文本

代码中可以使用 setText 方法来改变按钮文本,比如

button.setText(text)

方法:禁用、启用

所有控件(继承自QWidget类)都支持 禁用和启用方法。

禁用后,该控件不再处理用户操作

  • 禁用
button.setEnabled(False)
  • 启用
button.setEnabled(True)

单行文本框

QLineEdit 是只能单行编辑的文本框。

官网介绍

信号:文本被修改

当文本框中的内容被键盘编辑,被点击就会发出 textChanged 信号,可以这样指定处理该信号的函数

edit.textChanged.connect(handleTextChange)

方法:获取文本

通过 text 方法获取编辑框内的文本内容,比如

text = edit.text()

方法:设置提示

通过 setPlaceholderText 方法可以设置提示文本内容,比如

edit.setPlaceholderText('请在这里输入URL')

方法:设置文本

通过 setText 方法设置编辑框内的文本内容为参数里面的文本字符串,比如

edit.setText('你好,白月黑羽')

原来的所有内容会被清除

方法:清除所有文本

clear 方法可以清除编辑框内所有的文本内容,比如

edit.clear()

方法:拷贝文本到剪贴板

copy 方法可以清除编辑框内所有的文本内容,比如

edit.copy()

方法:粘贴剪贴板文本

paste 方法可以把剪贴板内容,拷贝到编辑框当前光标所在处,比如

edit.paste()

多行纯文本框

QPlainTextEdit 是可以 多行 的纯文本编辑框。

image

官网介绍

信号:文本被修改

当文本框中的内容被键盘编辑,被点击就会发出 textChanged 信号,可以这样指定处理该信号的函数

edit.textChanged.connect(handleTextChange)

信号:光标位置改变

当文本框中的光标位置变动,就会发出 cursorPositionChanged 信号,可以这样指定处理该信号的函数

edit.cursorPositionChanged.connect(handleChanged)

方法:获取文本

通过 toPlainText 方法获取编辑框内的文本内容,比如

text = edit.toPlainText()

获取选中文本

# 获取 QTextCursor 对象
textCursor = edit.textCursor()
selection = textCursor.selectedText()

方法:设置提示

通过 setPlaceholderText 方法可以设置提示文本内容,比如

edit.setPlaceholderText('请在这里输入薪资表')

方法:设置文本

通过 setPlainText 方法设置编辑框内的文本内容 为参数里面的文本字符串,比如

edit.setPlainText('''你好,白月黑羽
hello byhy''')

原来的所有内容会被清除

方法:在末尾添加文本

通过 appendPlainText 方法在编辑框末尾添加文本内容,比如

edit.appendPlainText('你好,白月黑羽')

注意:这种方法会在添加文本后 自动换行

方法:在光标处插入文本

通过 insertPlainText 方法在编辑框末尾添加文本内容,比如

edit.insertPlainText('你好,白月黑羽')

注意:这种方法 不会 在添加文本后自动换行

方法:清除所有文本

clear 方法可以清除编辑框内所有的文本内容,比如

edit.clear()

方法:拷贝文本到剪贴板

copy 方法可以清除编辑框内所有的文本内容,比如

edit.copy()

方法:粘贴剪贴板文本

paste 方法可以把剪贴板内容,拷贝到编辑框当前光标所在处,比如

edit.paste()

文本浏览框

QTextBrowser只能查看文本 控件。

通常用来显示一些操作日志信息、或者不需要用户编辑的大段文本内容。

官网介绍

该控件 获取文本、设置文本、清除文本、剪贴板复制粘贴 等等, 都和上面介绍的 多行纯文本框是一样的。

下面我们主要讲解不同点

方法:在末尾添加文本

通过 append 方法在编辑框末尾添加文本内容,比如

textBrowser.append('你好,白月黑羽')

有时,浏览框里面的内容长度超出了可见范围,我们在末尾添加了内容,往往希望控件自动翻滚到当前添加的这行,

可以通过 ensureCursorVisible 方法来实现

textBrowser.append('你好,白月黑羽')
textBrowser.ensureCursorVisible()

注意:这种方法会在添加文本后 自动换行

方法:在光标处插入文本

通过 insertPlainText 方法在编辑框末尾添加文本内容,比如

edit.insertPlainText('你好,白月黑羽')

注意:这种方法 不会 在添加文本后自动换行

文本标签

QLabel 就是常见的标签

image

官网介绍

方法:改变文本

代码中可以使用 setText 方法来改变标签文本内容,比如

button.setText(text)

上一页
下一页