您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了怎么實現PyQt5控件字體樣式等設置,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。
一、API接口設置
比如我這段代碼中的一些設置,設置文字、居中、禁止復制、LineEdit輸入為password等等
import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QFrame from PyQt5.QtWidgets import QLabel from PyQt5.QtWidgets import QWidget from PyQt5.QtWidgets import QLineEdit from PyQt5.QtWidgets import QTextEdit from PyQt5.QtWidgets import QSizePolicy from PyQt5.QtWidgets import QMainWindow from PyQt5.QtWidgets import QPushButton from PyQt5.QtWidgets import QGridLayout from PyQt5.QtWidgets import QApplication from View import interface class MainWindow(QMainWindow): def __init__(self): super(MainWindow,self).__init__(None) self.setWindowTitle("對金屬腐蝕性試驗儀") self.initUI() def initUI(self): layout = QGridLayout() layout.setSpacing(10) self.loginLabel = QLabel("用戶名:") self.loginLabel.setAlignment(Qt.AlignRight) self.loginLabel.setStyleSheet("color:rgb(20,20,20,255);font-size:16px;font-weight:bold:text") self.loginTxt = QLineEdit() self.loginTxt.setText("admin") self.loginTxt.setPlaceholderText("User Name") self.loginTxt.setClearButtonEnabled(True) self.pwdLabel = QLabel("密碼:") self.pwdLabel.setAlignment(Qt.AlignRight) self.pwdTxt = QLineEdit() self.pwdTxt.setContextMenuPolicy(Qt.NoContextMenu) #禁止復制粘貼 self.pwdTxt.setPlaceholderText("Password") self.pwdTxt.setText("admin") self.pwdTxt.setEchoMode(QLineEdit.Password) self.pwdTxt.setClearButtonEnabled(True) self.registeredBtn = QPushButton("注冊") self.loginBtn = QPushButton("登陸") self.headLabel = QLabel("用戶登陸") self.headLabel.resize(300,30) self.headLabel.setAlignment(Qt.AlignCenter) self.headLabel.setStyleSheet("color:rgb(10,10,10,255);font-size:25px;font-weight:bold;font-family:Roman times;") self.headLabel.setSizePolicy(QSizePolicy.Expanding,QSizePolicy.Expanding) layout.addWidget(self.headLabel,0,0,1,2) policy = self.headLabel.sizePolicy() print(policy.verticalPolicy()) policy.setVerticalPolicy(1) print(policy.verticalPolicy()) # policy.setVerticalPolicy(1) layout.addWidget(self.loginLabel,1,0) layout.addWidget(self.loginTxt,1,1) layout.addWidget(self.pwdLabel,2,0) layout.addWidget(self.pwdTxt,2,1) layout.addWidget(self.registeredBtn,3,0) layout.addWidget(self.loginBtn,3,1) frame = QFrame(self) frame.setLayout(layout) self.setCentralWidget(frame) self.resize(300,150) if __name__ == '__main__': app = QApplication(sys.argv) mainWindow = MainWindow() mainWindow.show() mainWindow.activateWindow() mainWindow.raise_() app.exec_() del mainWindow del app
1.1.0 QLineEdit一些屬性
inputMask設置掩碼
text 設置文本
maxLength文本框輸入的最大字符數
frame 設置邊框
echoMode 設置文本框顯示格式
Normal正常顯示所輸入的字符,此為默認選項
NoEcho不顯示任何輸入的字符,常用于密碼類型的輸入,且長度保密
Password顯示與平臺相關的密碼掩飾字符,而不是實際輸入的字符
PasswordEchoOnEdit在編輯時顯示字符,負責顯示密碼類型的輸入
cursorPosition光標位置
alignment文本對齊方式
AlignLeft左對齊
AlignRight右對齊
AlignCenter水平居中對齊
AlignJustify水平方向調整間距兩端對齊
AlignTop垂直上對齊
AlignBottom垂直方下對齊
AlignVCenter垂直方向居中對齊
dragEnabled設置文本框是否接受拖動
readOnly設置文本為只讀
placeholderText設置文本框提示文字
cursorMoveStyle光標移動風格
LogicalMoveStyle邏輯風格
VisualMoveStyle視覺風格
clearButtonEnabled快速刪除按鈕
參考文章,QLineEdit屬性、信號、方法等
1.1 常用的一些設置
參數 | 作用 |
---|---|
AlignAbsolute=16 | |
AlignBaseline=256 | |
AlignBottom=64 | 底端對齊 |
AlignCenter=132 | 完全居中 |
AlignHCenter=4 | 水平居中 |
AlignHorizontal_Mask=31 | |
AlignJustify=8 | 可用空間對齊 |
AlignLeading=1 | 領頭對齊(理解為左對齊吧) |
AlignLeft=1 | 左對齊 |
AlignRight=2 | 右對齊 |
AlignTop=32 | 上對齊 |
AlignTrailing=2 | 尾對齊(右對齊 |
AlignVCenter=128 | 垂直居中 |
setClearButtonEnabled(self, bool): 是否有清除文本按鈕(如我第一段程序文本框后的 小黑X)
setCompleter(self, QCompleter):設置自動補全QLineEdit自動補全
setCursorMoveStyle(self, Qt_CursorMoveStyle):
setCursorPosition(self, p_int):
setDragEnabled(self, bool):
setEchoMode(self, QLineEdit_EchoMode):
setFrame(self, bool):
setInputMask(self, p_str):
setMaxLength(self, p_int):
setModified(self, bool):
setPlaceholderText(self, p_str):
setReadOnly(self, bool):
setSelection(self, p_int, p_int_1):
setText(self, p_str):
setTextMargins(self, *__args):
setValidator(self, QValidator):
以上就是關于怎么實現PyQt5控件字體樣式等設置的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。