QLineEdit

真的很老了發表於2024-09-14

說明

QLineEdit 類的常用方法和屬性

類別 方法/屬性 描述
文字和輸入 text() 獲取或設定文字框中的文字
setText() 設定文字框中的文字
placeholderText() 獲取或設定佔位符文字
setPlaceholderText() 設定佔位符文字
inputMask() 獲取或設定輸入掩碼
setInputMask() 設定輸入掩碼
maxLength() 獲取或設定文字框的最大長度
setMaxLength() 設定文字框的最大長度
acceptableInput() 檢查文字框中的文字是否符合輸入掩碼
hasAcceptableInput() 檢查文字框中的文字是否符合輸入掩碼
echoMode() 獲取或設定文字框的回顯模式
setEchoMode() 設定文字框的回顯模式
isModified() 檢查文字框的內容是否被修改
setModified() 設定文字框的內容是否被修改
isReadOnly() 檢查文字框是否為只讀
setReadOnly() 設定文字框是否為只讀
isRedoAvailable() 檢查是否可以重做操作
isUndoAvailable() 檢查是否可以撤銷操作
redo() 重做操作
undo() 撤銷操作
textMargins() 獲取或設定文字框的文字邊距
setTextMargins() 設定文字框的文字邊距
validator() 獲取或設定文字框的驗證器
setValidator() 設定文字框的驗證器
游標和選擇 cursorPosition() 獲取或設定游標位置
setCursorPosition() 設定游標位置
hasSelectedText() 檢查是否有選中的文字
selectedText() 獲取選中的文字
setSelection() 設定選中文字的範圍
selectionStart() 獲取選中文字的起始位置
selectionEnd() 獲取選中文字的結束位置
selectionLength() 獲取選中文字的長度
selectionChanged() 當選中文字改變時觸發
動作和按鈕 addAction() 向文字框新增動作
isClearButtonEnabled() 檢查清除按鈕是否啟用
setClearButtonEnabled() 設定清除按鈕是否啟用
外觀和樣式 alignment() 獲取或設定文字的對齊方式
setAlignment() 設定文字的對齊方式
hasFrame() 檢查文字框是否有邊框
setFrame() 設定文字框是否有邊框
frame() 獲取文字框的邊框樣式
事件和行為 cursorMoveStyle() 獲取或設定游標移動樣式
setCursorMoveStyle() 設定游標移動樣式
cursorPositionChanged() 當游標位置改變時觸發
cursorPositionAt() 獲取指定位置的游標位置
cursorRect() 獲取游標的矩形區域
cursorBackward() 游標向後移動
cursorForward() 游標向前移動
cursorWordBackward() 游標向後移動到單詞開頭
cursorWordForward() 游標向前移動到單詞開頭
home() 游標移動到文字開始位置
end() 游標移動到文字結束位置
copy() 複製選中的文字
cut() 剪下選中的文字
paste() 貼上剪貼簿中的文字
del_() 刪除游標位置的字元
backspace() 刪除游標前的字元
clear() 清除文字框中的文字
deselect() 取消選中文字
selectAll() 選中文字框中的所有文字
其他 redoAvailable() 當可重做操作時觸發
undoAvailable() 當可撤銷操作時觸發
editingFinished() 當編輯完成時觸發
returnPressed() 當按下Enter鍵時觸發
createStandardContextMenu() 建立標準上下文選單
inputMethodQuery() 查詢輸入法資訊
inputRejected() 當輸入被拒絕時觸發
initStyleOption() 初始化樣式選項

QSS樣式

QLineEdit 是 PySide6 (Qt for Python) 中的一個控制元件,用於建立單行文字輸入框。它支援 QSS(Qt樣式表),允許開發者透過樣式表來定製文字輸入框的外觀和行為。以下是一些關於 QLineEdit 的 QSS 樣式屬性、子控制元件、偽狀態、選擇器的詳細說明:

子控制元件

QLineEdit 本身是一個簡單的控制元件,通常不包含子控制元件。但是,它可能包含文字和圖片,這些可以被視為其內容的一部分。

偽狀態

偽狀態用於描述控制元件的特定狀態,如選中、懸停等:

  • :hover: 當滑鼠懸停在控制元件上時。
  • :selected: 當文字被選中時。
  • :disabled: 當控制元件被禁用時。
  • :focus: 當控制元件擁有焦點時。
  • :read-only: 當文字輸入框設定為只讀時。

樣式屬性

QLineEdit 支援多種 QSS 屬性來定製其外觀和行為:

  • background-color: 設定文字輸入框的背景顏色。
  • color: 設定文字顏色。
  • font: 設定文字的字型和大小。
  • border: 設定文字輸入框的邊框樣式。
  • padding: 設定文字輸入框內部的填充。
  • margin: 設定文字輸入框外部的邊距。
  • selection-background-color: 設定選中文字的背景顏色。
  • selection-color: 設定選中文字的顏色。
  • cursor-color: 設定游標顏色。
  • text-align: 設定文字的對齊方式。

選擇器

選擇器用於選擇特定的控制元件或控制元件的特定狀態:

  • QLineEdit: 選擇所有的 QLineEdit 控制元件。
  • QLineEdit::text: 選擇 QLineEdit 控制元件中的文字。
  • QLineEdit:hover: 選擇滑鼠懸停在 QLineEdit 上時的樣式。
  • QLineEdit:disabled: 選擇被禁用的 QLineEdit 控制元件的樣式。
  • QLineEdit:read-only: 選擇只讀模式下的 QLineEdit 控制元件的樣式。

示例

以下是一個使用 QSS 樣式表來定製 QLineEdit 的示例:

from PySide6.QtWidgets import QLineEdit

line_edit = QLineEdit()
line_edit.setPlaceholderText("Enter text here...")
line_edit.setStyleSheet("""
    QLineEdit {
        background-color: #ffffff;
        color: #333333;
        font: 12pt Arial;
        border: 1px solid #cccccc;
        padding: 5px;
        margin: 10px;
     }
    QLineEdit:hover {
        border-color: #0000ff;
     }
    QLineEdit:disabled {
        background-color: #f0f0f0;
     }
    QLineEdit:read-only {
        background-color: #f0f0f0;
     }
""")