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 ...
随机推荐
- JSON跨域读取那点事(JSONP跨域访问)
最近在码一个小项目,需要远程读取json.因为需求很少,如果引用jquery使用其getjson方法就显得很浪费嘛= = 这篇文章很详细的解释了JSON跨域读取的前世今生,把原理讲得很透彻.特此分享. ...
- 用锁实现SQLSERVER中简单并发控制(转)
研究Oracle的同学都知道,Oracle的select语句中可以使用for update或者for update nowait来控制并发,这一功能可以使开发人员轻易的将锁定控制在会话级+行级,可以说 ...
- innerHTML和innerText的使用和区别
document对象中有innerHTML.innerText这两个属性,都是获取document对象文本内容,但使用起来还是有区别的: 1) innerHTML设置或获取标签所包含的HTML+文本信 ...
- 个人的web商城网站
项目介绍 1.作为前端的菜鸟,每每看到Github上有很多大神分享着自己的项目时,内心都是蠢蠢欲动,这次终于下定决心要给自己一段时间来完成属于自己的一份作品.2.于是在查找了大量资料,思考着技术选型, ...
- win10日历交互效果
win10日历 早就想试着实现以下win10日历的动态css效果,现在终于有时间试试啦.本篇文章只是实现简单的效果,进阶篇后续会放上来 目标效果 鼠标移入目标元素,周围相关八块元素点亮,点亮高光范围呈 ...
- (web)个人项目(挖宝网)
前台:使用bootstrap. 后台:使用layui. 数据库:mysql 下载地址:https://github.com/oukele/wabaowangDemo(数据库文件忘记上传,我在展示功能结 ...
- ESP8266—“ICACHE_FLASH_ATTR”宏
问:ESP8266_NONOS_SDK中ICACHE_FLASH_ATTR宏的用途是什么?我看到它取决于ICACHE_FLASH,但我不知道何时应该定义该符号.什么时候需要包括它?答:对于ESP826 ...
- tqdm模块
tqdm 是 Python 进度条库. tqdm库下面有2个类我们经常使用: 1. 2. 可以在 Python 长循环中添加一个进度提示信息用法:tqdm(iterator) trange(i) 是 ...
- 【agc005d】~K Perm Counting
题目大意 求有多少中1~n的排列,使得\(abs(第i个位置的值-i)!=k\) 解题思路 考虑容斥,\(ans=\sum_{i=0}^{n}(-1)^ig[i](n-i)!(g[i]表示至少有i个位 ...
- 3622 假期(DP+单调队列优化)
3622 假期 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 黄金 Gold 题目描述 Description 经过几个月辛勤的工作,FJ决定让奶牛放假.假期可以在1-N天内任意选择 ...