先說下,這個十分簡陋的,很多功能都是沒有像我想的那樣實現的,所以說,希望能看見這篇文章的大佬給予幫助
首先,我需要兩個QLabel來顯示圖片,爲了能夠知道正在顯示的是哪一張圖片,我選擇重新定義類,繼承自QLabel,增加了數據成員count(用來判斷顯示的圖片是哪一張),並且重新定義了鼠標點擊事件,如下
class Computer(QLabel):
def __init__(self,p=None):
super(Computer,self).__init__(p)
self.count=0
def mousePressEvent(self, QMouseEvent):
self.count=self.count+1
if self.count>2:
self.count=self.count-3
if self.count==0:
p = QPixmap('剪刀.png')
self.setPixmap(p)
elif self.count==1:
p = QPixmap('石頭.jpg')
self.setPixmap(p)
else:
p = QPixmap('布.jpg')
self.setPixmap(p)
self.able = 1
def now(self):
return self.count
def setcount(self,c):
self.count=c
然後是主頁面,由於不知道如何隨着界面大小調整QLabel,於是我只好固定大小,這裏說一下臨時變量的使用,如果沒有一個臨時變量可能沒法使水平佈局與垂直佈局結合起來,臨時變量的的使用大致如下
up = QVBoxLayout()
t1 = QWidget()#定義一個臨時變量完成垂直佈局與水平佈局的融合
hbox = QHBoxLayout()
t1.setLayout(hbox)
up.addWidget(t1)
self.setLayout(up)
還有QLabel顯示圖片的問題,我的圖片是存在文件夾下的所以是用的是相對路徑
self.lb1.setScaledContents(True) #這個函數可以使圖片適應標籤的大小
將按鈕與相應的事件進行連接
self.bt1.clicked.connect(self.left) #left是我定義的那個函數
具體的代碼在最後有一個網盤地址,python3.6
之後列一些問題請教一下
1. 我想做個界面轉化怎麼做,就是初始界面你點start界面會跳轉的那種
2.QLabel可不可以實現圖片的放映,就相當於一直在動那種,我知道他能夠顯示gif但是我想它在沒操作之前不斷顯示我的那三張圖片
3.可不可以通過點擊圖片來使主界面再進行一次judge()(這個具體可以看一下代碼,一個小彩蛋)
網盤地址:https://pan.baidu.com/s/1fjkUSKiApjJEF2HzX9Aedw
提取碼:0z8s