python programming作业11 Qt designer (打地鼠,不是很完美)

不导包的代码
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import * class Ui_widget(object):
def setupUi(self, widget):
widget.setObjectName("widget")
widget.resize(548, 461) self.pushButton_1 = QtWidgets.QPushButton(widget)
self.pushButton_1.setGeometry(QtCore.QRect(60, 130, 111, 81))
self.pushButton_1.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(widget)
self.pushButton_2.setGeometry(QtCore.QRect(220, 130, 111, 81))
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_3 = QtWidgets.QPushButton(widget)
self.pushButton_3.setGeometry(QtCore.QRect(390, 130, 111, 81))
self.pushButton_3.setObjectName("pushButton_3")
self.pushButton_4 = QtWidgets.QPushButton(widget)
self.pushButton_4.setGeometry(QtCore.QRect(60, 240, 111, 81))
self.pushButton_4.setObjectName("pushButton_4")
self.pushButton_5 = QtWidgets.QPushButton(widget)
self.pushButton_5.setGeometry(QtCore.QRect(60, 340, 111, 81))
self.pushButton_5.setObjectName("pushButton_5")
self.pushButton_6 = QtWidgets.QPushButton(widget)
self.pushButton_6.setGeometry(QtCore.QRect(220, 240, 111, 81))
self.pushButton_6.setObjectName("pushButton_6")
self.pushButton_7 = QtWidgets.QPushButton(widget)
self.pushButton_7.setGeometry(QtCore.QRect(390, 240, 111, 81))
self.pushButton_7.setObjectName("pushButton_7")
self.pushButton_8 = QtWidgets.QPushButton(widget)
self.pushButton_8.setGeometry(QtCore.QRect(220, 340, 111, 81))
self.pushButton_8.setObjectName("pushButton_8")
self.pushButton_9 = QtWidgets.QPushButton(widget)
self.pushButton_9.setGeometry(QtCore.QRect(390, 340, 111, 81))
self.pushButton_9.setObjectName("pushButton_9")
self.pushButton_10 = QtWidgets.QPushButton(widget)
self.pushButton_10.setGeometry(QtCore.QRect(30, 20, 91, 41))
self.pushButton_10.setObjectName("pushButton_10")
self.pushButton_11 = QtWidgets.QPushButton(widget)
self.pushButton_11.setGeometry(QtCore.QRect(30, 80, 91, 41))
self.pushButton_11.setObjectName("pushButton_11")
self.label = QtWidgets.QLabel(widget)
self.label.setGeometry(QtCore.QRect(220, 30, 151, 51))
self.label.setObjectName("label") self.retranslateUi(widget)
QtCore.QMetaObject.connectSlotsByName(widget)
widget.setTabOrder(self.pushButton_1, self.pushButton_2)
widget.setTabOrder(self.pushButton_2, self.pushButton_4)
widget.setTabOrder(self.pushButton_4, self.pushButton_3)
widget.setTabOrder(self.pushButton_3, self.pushButton_5)
widget.setTabOrder(self.pushButton_5, self.pushButton_6)
widget.setTabOrder(self.pushButton_6, self.pushButton_7)
widget.setTabOrder(self.pushButton_7, self.pushButton_8)
widget.setTabOrder(self.pushButton_8, self.pushButton_9)
widget.setTabOrder(self.pushButton_9, self.pushButton_10)
widget.setTabOrder(self.pushButton_10, self.pushButton_11) def retranslateUi(self, widget):
_translate = QtCore.QCoreApplication.translate
widget.setWindowTitle(_translate("widget", "帅帅的打地鼠游戏"))
#self.pushButton.setText(_translate("widget", "PushButton"))
self.pushButton_1.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_2.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_3.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_4.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_5.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_6.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_7.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_8.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_9.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_10.setText(_translate("widget", "开始游戏"))
self.pushButton_11.setText(_translate("widget", "停止"))
self.label.setText(_translate("widget", "TextLabel")) from PyQt5.QtCore import QTimer
import time
import numpy as np class MyWindow(QDialog, Ui_widget):
def __init__(self, parent=None):
super().__init__(parent)
self. setupUi(self)
self.begin = False
self.end = True
self.score = 0 #标记这9格子有没有出现小老鼠
self.flag = np.zeros(10) self.timer = QTimer(self) #初始化一个定时器
self.timer.timeout.connect(self.operate) #计时结束调用operate()方法 self.push_dic={}
self.push_dic[1]=self.pushButton_1
self.push_dic[2]=self.pushButton_2
self.push_dic[3]=self.pushButton_3
self.push_dic[4]=self.pushButton_4
self.push_dic[5]=self.pushButton_5
self.push_dic[6]=self.pushButton_6
self.push_dic[7]=self.pushButton_7
self.push_dic[8]=self.pushButton_8
self.push_dic[9]=self.pushButton_9 self.pushButton_10.clicked.connect(self.game)
self.pushButton_11.clicked.connect(self.gameover)
self.label.setText(str(self.score)) self.push_dic[1].clicked.connect(lambda:self.getscore(1))
self.push_dic[2].clicked.connect(lambda:self.getscore(2))
self.push_dic[3].clicked.connect(lambda:self.getscore(3))
self.push_dic[4].clicked.connect(lambda:self.getscore(4))
self.push_dic[5].clicked.connect(lambda:self.getscore(5))
self.push_dic[6].clicked.connect(lambda:self.getscore(6))
self.push_dic[7].clicked.connect(lambda:self.getscore(7))
self.push_dic[8].clicked.connect(lambda:self.getscore(8))
self.push_dic[9].clicked.connect(lambda:self.getscore(9)) self.label.setStyleSheet("font:20pt '楷体';border-width: 1px;border-style: solid;border-color: rgb(255, 0, 0);") # 每过一秒发生的事情
def operate(self):
#具体操作
#print("计时结束") #地鼠全部藏起来
for i in range(1,10):
self.push_dic[i].setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.flag = np.zeros(10) a=np.random.randint(1,10)
self.push_dic[a].setStyleSheet('QPushButton{background-image:url(mouse.png)}')
self.flag[a]=1
a=np.random.randint(1,10)
self.push_dic[a].setStyleSheet('QPushButton{background-image:url(mouse.png)}')
self.flag[a]=1
a=np.random.randint(1,10)
self.push_dic[a].setStyleSheet('QPushButton{background-image:url(mouse.png)}')
self.flag[a]=1 def game(self):
if self.begin == False:
self.end = False
self.begin = True
print("启动计时器")
self.timer.start(800) #设置计时间隔并启动
self.pushButton_10.setText("暂停") elif self.begin == True:
self.begin = False
self.timer.stop()
self.pushButton_10.setText("继续") def gameover(self):
if self.end == False:
self.begin = False
self.end == True
self.pushButton_10.setText("开始游戏")
self.flag = np.zeros(10)
self.timer.stop()
#地鼠全部藏起来
for i in range(1,10):
self.push_dic[i].setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.score = 0
self.label.setText(str(self.score)) def getscore(self,a):
if self.flag[a] == 1 and self.begin == True:
self.score += 1
self.label.setText(str(self.score))
self.flag[a] = 0
self.push_dic[a].setStyleSheet('QPushButton{background-image:url(catch.png)}') app = QApplication(sys.argv)
form = MyWindow()
form.show()
app.exec_()
导包的代码,先用Qt布局再

qt_designer.ui转为qt_designer.py以后
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file '11.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_widget(object):
def setupUi(self, widget):
widget.setObjectName("widget")
widget.resize(548, 461) self.pushButton_1 = QtWidgets.QPushButton(widget)
self.pushButton_1.setGeometry(QtCore.QRect(60, 130, 111, 81))
self.pushButton_1.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(widget)
self.pushButton_2.setGeometry(QtCore.QRect(220, 130, 111, 81))
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_3 = QtWidgets.QPushButton(widget)
self.pushButton_3.setGeometry(QtCore.QRect(390, 130, 111, 81))
self.pushButton_3.setObjectName("pushButton_3")
self.pushButton_4 = QtWidgets.QPushButton(widget)
self.pushButton_4.setGeometry(QtCore.QRect(60, 240, 111, 81))
self.pushButton_4.setObjectName("pushButton_4")
self.pushButton_5 = QtWidgets.QPushButton(widget)
self.pushButton_5.setGeometry(QtCore.QRect(60, 340, 111, 81))
self.pushButton_5.setObjectName("pushButton_5")
self.pushButton_6 = QtWidgets.QPushButton(widget)
self.pushButton_6.setGeometry(QtCore.QRect(220, 240, 111, 81))
self.pushButton_6.setObjectName("pushButton_6")
self.pushButton_7 = QtWidgets.QPushButton(widget)
self.pushButton_7.setGeometry(QtCore.QRect(390, 240, 111, 81))
self.pushButton_7.setObjectName("pushButton_7")
self.pushButton_8 = QtWidgets.QPushButton(widget)
self.pushButton_8.setGeometry(QtCore.QRect(220, 340, 111, 81))
self.pushButton_8.setObjectName("pushButton_8")
self.pushButton_9 = QtWidgets.QPushButton(widget)
self.pushButton_9.setGeometry(QtCore.QRect(390, 340, 111, 81))
self.pushButton_9.setObjectName("pushButton_9")
self.pushButton_10 = QtWidgets.QPushButton(widget)
self.pushButton_10.setGeometry(QtCore.QRect(30, 20, 91, 41))
self.pushButton_10.setObjectName("pushButton_10")
self.pushButton_11 = QtWidgets.QPushButton(widget)
self.pushButton_11.setGeometry(QtCore.QRect(30, 80, 91, 41))
self.pushButton_11.setObjectName("pushButton_11")
self.label = QtWidgets.QLabel(widget)
self.label.setGeometry(QtCore.QRect(220, 30, 151, 51))
self.label.setObjectName("label") self.retranslateUi(widget)
QtCore.QMetaObject.connectSlotsByName(widget)
widget.setTabOrder(self.pushButton_1, self.pushButton_2)
widget.setTabOrder(self.pushButton_2, self.pushButton_4)
widget.setTabOrder(self.pushButton_4, self.pushButton_3)
widget.setTabOrder(self.pushButton_3, self.pushButton_5)
widget.setTabOrder(self.pushButton_5, self.pushButton_6)
widget.setTabOrder(self.pushButton_6, self.pushButton_7)
widget.setTabOrder(self.pushButton_7, self.pushButton_8)
widget.setTabOrder(self.pushButton_8, self.pushButton_9)
widget.setTabOrder(self.pushButton_9, self.pushButton_10)
widget.setTabOrder(self.pushButton_10, self.pushButton_11) def retranslateUi(self, widget):
_translate = QtCore.QCoreApplication.translate
widget.setWindowTitle(_translate("widget", "帅帅的打地鼠游戏"))
#self.pushButton.setText(_translate("widget", "PushButton"))
self.pushButton_1.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_2.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_3.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_4.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_5.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_6.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_7.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_8.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_9.setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.pushButton_10.setText(_translate("widget", "开始游戏"))
self.pushButton_11.setText(_translate("widget", "停止"))
self.label.setText(_translate("widget", "TextLabel"))
再导入
from qt_desiginer import Ui_widget
from PyQt5.QtCore import QTimer
import time
import numpy as np
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import sys class MyWindow(QDialog, Ui_widget):
def __init__(self, parent=None):
super().__init__(parent)
self. setupUi(self)
self.begin = False
self.end = True
self.score = 0 #标记这9格子有没有出现小老鼠
self.flag = np.zeros(10) self.timer = QTimer(self) #初始化一个定时器
self.timer.timeout.connect(self.operate) #计时结束调用operate()方法 self.push_dic={}
self.push_dic[1]=self.pushButton_1
self.push_dic[2]=self.pushButton_2
self.push_dic[3]=self.pushButton_3
self.push_dic[4]=self.pushButton_4
self.push_dic[5]=self.pushButton_5
self.push_dic[6]=self.pushButton_6
self.push_dic[7]=self.pushButton_7
self.push_dic[8]=self.pushButton_8
self.push_dic[9]=self.pushButton_9 self.pushButton_10.clicked.connect(self.game)
self.pushButton_11.clicked.connect(self.gameover)
self.label.setText(str(self.score)) self.push_dic[1].clicked.connect(lambda:self.getscore(1))
self.push_dic[2].clicked.connect(lambda:self.getscore(2))
self.push_dic[3].clicked.connect(lambda:self.getscore(3))
self.push_dic[4].clicked.connect(lambda:self.getscore(4))
self.push_dic[5].clicked.connect(lambda:self.getscore(5))
self.push_dic[6].clicked.connect(lambda:self.getscore(6))
self.push_dic[7].clicked.connect(lambda:self.getscore(7))
self.push_dic[8].clicked.connect(lambda:self.getscore(8))
self.push_dic[9].clicked.connect(lambda:self.getscore(9)) self.label.setStyleSheet("font:20pt '楷体';border-width: 1px;border-style: solid;border-color: rgb(255, 0, 0);") # 每过一秒发生的事情
def operate(self):
#具体操作
#print("计时结束") #地鼠全部藏起来
for i in range(1,10):
self.push_dic[i].setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.flag = np.zeros(10) a=np.random.randint(1,10)
self.push_dic[a].setStyleSheet('QPushButton{background-image:url(mouse.png)}')
self.flag[a]=1
a=np.random.randint(1,10)
self.push_dic[a].setStyleSheet('QPushButton{background-image:url(mouse.png)}')
self.flag[a]=1
a=np.random.randint(1,10)
self.push_dic[a].setStyleSheet('QPushButton{background-image:url(mouse.png)}')
self.flag[a]=1 def game(self):
if self.begin == False:
self.end = False
self.begin = True
print("启动计时器")
self.timer.start(800) #设置计时间隔并启动
self.pushButton_10.setText("暂停") elif self.begin == True:
self.begin = False
self.timer.stop()
self.pushButton_10.setText("继续") def gameover(self):
if self.end == False:
self.begin = False
self.end == True
self.pushButton_10.setText("开始游戏")
self.flag = np.zeros(10)
self.timer.stop()
#地鼠全部藏起来
for i in range(1,10):
self.push_dic[i].setStyleSheet('QPushButton{background-image:url(tu.png)}')
self.score = 0
self.label.setText(str(self.score)) def getscore(self,a):
if self.flag[a] == 1 and self.begin == True:
self.score += 1
self.label.setText(str(self.score))
self.flag[a] = 0
self.push_dic[a].setStyleSheet('QPushButton{background-image:url(catch.png)}') app = QApplication(sys.argv)
form = MyWindow()
form.show()
app.exec_()

python programming作业11 Qt designer (打地鼠,不是很完美)的更多相关文章
- python programming作业10(仍有一点点小bug)
# -*- coding: utf-8 -*- import os import platform import sys from PyQt5.QtCore import * from PyQt5.Q ...
- python programming作业5
# -*- coding: utf-8 -*- class ageError(Exception): pass class salaryError(Exception): pass class s ...
- Qt Designer中自定义控件的使用(提升法与插件法)
准备乱写一点Qt自定义Widget在Designer中的使用.可是又不想重复提升法(promotion)及插件法基本用法,因为Manual中Using Custom Widgets with Qt D ...
- 第15.11节 PyQt(Python+Qt)入门学习:Qt Designer(设计师)组件Property Editor(属性编辑)界面中主窗口QMainWindow类相关属性详解
概述 主窗口对象是在新建窗口对象时,选择main window类型的模板时创建的窗口对象,如图: 在属性编辑界面中,主窗口对象与QMainWindow相关的属性包括:iconSize.toolButt ...
- python的部分GUI模块简介tkinter、pyqt5(Qt Designer)
笔者认为,这两个作为Python3较为常用且简单的GUI模块,是Python开发者所必须学习至少是了解的. 其中tkinter为Python3自带的GUI模块,而pyqt5则需要通过pip insta ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的autoFillBackground属性
autoFillBackground属性可以确认部件背景是否自动填充,如果自动填充,Qt会在调用Paint事件之前填充部件的背景.使用的颜色由部件调色板中的QPalette.window 角色定义(关 ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的样式表styleSheet属性
styleSheet属性是定义部件外观的属性样式表,在Qt中styleSheet样式表是类似于html的css样式一样的方法,只是时专门为Qt中的部件开发的.styleSheet的定义语法也是类似CS ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的layoutDirection属性
layoutDirection属性保存的是部件的布局方向,有三个取值: 在部件上设置布局方向时,它将传播到部件的子级,但不会传播到作为窗口的子级,也不会传播到已显式调用setLayoutDirecti ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的accessibleDescription和accessibleName辅助阅读属性
accessibleDescription和accessibleName属性都是用于残疾人辅助阅读的,这两个属性都有国际化属性(关于国际化请参考<PyQt(Python+Qt)学习随笔:Qt D ...
随机推荐
- Host服务
这也是看网上的例子自己跟着配置做的一个小demo,这里记录一下. 一.创建一个空的控制台应用程序 二.安装所需dll 1.Quartz Install-Package Quartz -Version ...
- kotlin默认参数和具名参数
纯语法操练,这里先定义一些数学计算公式,顺便来复习复习,如下: 然后编写测试代码来调用下它们: 编译运行: 但是!!!对于这四个函数都有一个参数是pi: 而实际上它是一个常量,可以手动给它定义一个默认 ...
- python操作mysql代码讲解(及其实用,未来测试工作主要操作数据库的方法)
pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 1 pip3 install pymysql 使用操作 1.执行SQL 1 2 3 4 ...
- 关于 keepalived+lvs 中参数 persistence_timeout 的说明
在keepalived+lvs的配置文件keepalived.conf中有一个选项persistence_timeout 该选项的作用:在一定时间内使来自于同一个Client的所有TCP请求被负载到同 ...
- 钉钉报警-prometheus-alertmanager
alertmanager alertmanager可以放在远程服务器上 报警机制 在 prometheus 中定义你的监控规则,即配置一个触发器,某个值超过了设置的阈值就触发告警, prometheu ...
- http 中文乱码
string RawUrl = request.Request.RawUrl; string cc= HttpUtility.ParseQueryString(RawUrl.Substring(1, ...
- Confluence 6.15 博客页面(Blog Posts)宏参数
参数是让你可以用来控制宏的格式和输出的选项.在 Confluence 存储格式或者 Wiki 标记(wikimarkup)中使用的参数名与在宏浏览器中使用的标签名是不同的,在下面我们将会用括号列出 ...
- poi 1017 Packets 贪心+模拟
Packets Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 48349 Accepted: 16392 Descrip ...
- Pytorch:使用GPU训练
1.模型转为cuda gpus = [0] #使用哪几个GPU进行训练,这里选择0号GPU cuda_gpu = torch.cuda.is_available() #判断GPU是否存在可用 net ...
- pl/sql 过程 函数(写一个过程,输入部门编号,在控制台打印这个部门的名称,总人数,平均工资(基本工资+奖金))
1.编写过程,输入三角形三个表的长度.在控制台打印三角形的面积. create or replace procedure pro_s(v_a number,v_b number,v_c number) ...