說明
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;
}
""")