• 按钮QPushButton
  • 单行文本框QLineEdit
    • ">信号:文本被修改
    • ">信号:按下回车键
    • ">方法:获取文本
    • ">方法:设置提示
    • ">方法:设置文本
    • ">方法:清除所有文本
    • ">方法:拷贝文本到剪贴板
    • ">方法:粘贴剪贴板文本
  • QPlainTextEdit">多行纯文本框QPlainTextEdit
    • ">信号:文本被修改
    • ">信号:光标位置改变
    • ">方法:获取文本
    • ">方法:获取选中文本
    • ">方法:设置提示
    • ">方法:设置文本
    • ">方法:在末尾添加文本
    • ">方法:在光标处插入文本
    • ">方法:清除所有文本
    • ">方法:拷贝文本到剪贴板
    • ">方法:粘贴剪贴板文本
  • 标签QLabel
    • ">方法:改变文本
    • ">显示图片

    按钮QPushButton

    信号:被点击

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

    1. button.clicked.connect(handleCalc)

    方法:改变文本

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

    1. button.setText(text)

    方法:禁用、启用

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

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

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

    单行文本框QLineEdit

    常用控件1 - 图1

    信号:文本被修改

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

    1. edit.textChanged.connect(handleTextChange)

    Qt在调用这个信号处理函数时,传入的参数就是 文本框目前的内容字符串。

    信号:按下回车键

    当用户在文本框中任何时候按下回车键,就会发出 returnPressed 信号。

    有时我们需要处理这种情况,比如登录界面,用户输完密码直接按回车键就进行登录处理,比再用鼠标点击登录按钮快捷的多。

    可以指定处理 returnPressed 信号,如下所示

    1. passwordEdit.returnPressed.connect(onLogin)

    方法:获取文本

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

    1. text = edit.text()

    方法:设置提示

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

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

    方法:设置文本

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

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

    原来的所有内容会被清除

    方法:清除所有文本

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

    1. edit.clear()

    方法:拷贝文本到剪贴板

    copy 方法可以拷贝当前选中文本到剪贴板,比如

    1. edit.copy()

    方法:粘贴剪贴板文本

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

    1. edit.paste()

    多行纯文本框QPlainTextEdit

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

    常用控件1 - 图2

    信号:文本被修改

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

    1. edit.textChanged.connect(handleTextChange)

    注意: Qt在调用这个信号处理函数时,不会传入文本框目前的内容字符串,作为参数。

    这个行为 和 单行文本框不同。

    信号:光标位置改变

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

    1. edit.cursorPositionChanged.connect(handleChanged)

    方法:获取文本

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

    1. text = edit.toPlainText()

    方法:获取选中文本

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

    方法:设置提示

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

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

    方法:设置文本

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

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

    原来的所有内容会被清除

    方法:在末尾添加文本

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

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

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

    方法:在光标处插入文本

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

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

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

    方法:清除所有文本

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

    1. edit.clear()

    方法:拷贝文本到剪贴板

    copy 方法可以拷贝当前选中文本到剪贴板,比如

    1. edit.copy()

    方法:粘贴剪贴板文本

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

    1. edit.paste()

    标签QLabel

    QLabel 就是常见的标签,可以用来显示文字(包括纯文本和富文本)、图片 甚至动画。

    常用控件1 - 图3

    方法:改变文本

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

    1. button.setText(text)

    显示图片

    QLabel可以用来显示图片,有时一个图片可以让界面好看很多,如下图所示

    常用控件1 - 图4

    怎么用QLabel 显示图片呢?

    可以在 Qt Designer上 属性编辑器 QLabel 栏 的 pixmap 属性设置中选择图片文件指定。