pyqt樣式表語法筆記 中 原創

2022-03-30 06:42:50 字數 2628 閱讀 5813

pyqt

qsspython

樣式表一、彈窗

在日常的各種桌面軟體的使用中,我們都會碰到彈窗。例如註冊,登入的時候,會有相應的資訊彈窗,這裡就以資訊收集彈窗為例進行彈窗的說明。

常見的彈窗的資訊種類有文字類、數值類和下拉框選項這幾種。主要是通過呼叫qinputdialog這個類的各種方法實現的。下面分別介紹。  

python    6行

@pyqtsignature("")

defon_input_clicked

(self):

(my_str,status) = qinputdialog.gettext(self, '請在此輸入資訊', '請輸入您的姓名', qlineedit.normal, '姓名') 

print(my_str) 

print(status) 

**解釋:

qinputdialog.gettext這一方法會返回乙個tuple,第乙個元素是使用者輸入的資訊,第二個是返回狀態,當使用者選擇'ok',則返回true,若選擇'cancel',則返回false.

my_str用於接收使用者輸入的資訊,status則表示返回的布林值

解釋:第"1"處,使用者可以用鍵盤上下鍵進行數值的變動,當然亦可用滑鼠

第"2"處,當使用者輸入比所設定的值大的數時是不會有反應的。也就是說,假如我們設定的最大值是99,當我輸入10,再想輸入0的時候是不會有反應的。懂?  

python    9行

@pyqtsignature("")

defon_list1_clicked

(self):

my_str, status = qinputdialog.getitem(self, '下拉框', '選擇你喜歡的水果', my_list) 

print(my_str,status)   

python    5行

@pyqtsignature("")

defon_list1_clicked

(self):

my_list =  

... 

二、顯示

第一步新建.qrc檔案,儲存在當前目錄下。

第二步為字首取名(無限制)

第三步匯入或其他檔案

b.拖拽視窗 graphics view

c.修改樣式表

如果只是為了顯示建議選擇"border-image",因為它會自適應視窗。

難道靜態就能滿足我們的要求嗎?為什麼不可以通過點選實現跳轉到**或其他的功能呢?下面就來做這件事。

首先通過上面乙個步驟,我們的目錄中已經有乙個字尾為**.qrc**的檔案,我們需要將它轉化為.py檔案。

a.用命令列進行轉化

python    4行

# 將qrc檔案轉化為.py檔案

# 命令列需要進入到當前目錄下

pyrcc4 my_pic.qrc > test_rc.py 

之後我們得到了乙個test_rc.py檔案,不知道為什麼,我執行的時候報錯了,錯誤如下  

python    7行

traceback (most recent call last): 

file "c:\users\14356\desktop\test_pyqt\test_rc.py", line 6521, in

qinitresources() 

file "c:\users\14356\desktop\test_pyqt\test_rc.py", line 6516, in qinitresources 

qtcore.qregisterresourcedata(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) 

typeerror: qregisterresourcedata(int, str, str, str): argument 2 has unexpected type 'str'

估計有事編碼的問題,omg!

三個引數通過命令列後生成的是str型別,但是函式呼叫有要求byte型別,這不扯蛋嗎?!沒辦好只好將三個引數轉化成bytes型別。不過沒關係,bug來了就去解決吧~~在test_rc.py中新增如下**  

python    4行

qt_resource_struct = qt_resource_struct.encode('utf-8') 

qt_resource_name = qt_resource_name.encode('utf-8') 

qt_resource_data = qt_resource_data.encode('utf-8') 

b. 修改槽函式**

需要在我們自己定義的類下初始化控制項的滑鼠點選事件,並觸發我們自己定義的my_picevent函式。

新增**如下

介紹一下webbrowser這個類,我們需要使用import webbrowser

pyqt樣式表語法筆記 下 原創

python 啟動介面 qsspyqt 一 啟動介面的設定 簡單點 說話的方式簡單點 用一張靜態作為程式啟動介面為例。原來的語句 python 7行 ortant font family monospace white space pre if name main import sys mywind...

QSS樣式表語法

qss檔案存在,可以通過檔案載入進行設定 直接寫在ui檔案或者 中 從外到內 margin rectangle 最外面的矩形,主要是負責與其他視窗部件間的距離 border rectangle 包圍padding rectangle,為邊界預留空間,可認為是視窗的外框線 padding rectan...

QT樣式表語法

樣式規則 每個樣式規則由選擇器和宣告組成。選擇器 指定收該規則影響的部件。宣告 指定這個部件上要設定的屬性。如 qpushbutton qpushbutton 是選擇器 是宣告 color 是顏色屬性 red 是顏色屬性對應的值 選擇器 此規則指定了 qpushbutton 和它的子類使用紅色作為前...