重写了16遍的代码,改成循环体后一直不能正常工作。必须写16行。很怪。

import sys
import random
import time
from PyQt5.QtWidgets import (QWidget, QGridLayout, QPushButton, QApplication,QLabel,QLineEdit)class Example(QWidget):def __init__(self):super().__init__()self.size = 100self.cur = 1# self.startself.initUI()def python_clicked(self,btn):# print("python_clicked 1 clicked",btn,btn.text())if btn.text() ==str(self.cur):if self.cur==1:self.start = time.time()if self.cur == 16:self.cur =1self.cost =  time.time() - self.startprint ('cost time', self.cost)self.cur = self.cur+1else: print ('fail, click 1-2-3-4.... ')self.cur =1def initUI(self):grid = QGridLayout()self.setLayout(grid)self.btns=[]for m in range(16):self.btns.append(QPushButton( ))# for m in range(16):self.btns[0].clicked.connect((lambda :self.python_clicked(self.btns[0])))self.btns[1].clicked.connect((lambda :self.python_clicked(self.btns[1])))self.btns[2].clicked.connect((lambda :self.python_clicked(self.btns[2])))self.btns[3].clicked.connect((lambda :self.python_clicked(self.btns[3])))self.btns[4].clicked.connect((lambda :self.python_clicked(self.btns[4])))self.btns[5].clicked.connect((lambda :self.python_clicked(self.btns[5])))self.btns[6].clicked.connect((lambda :self.python_clicked(self.btns[6])))self.btns[7].clicked.connect((lambda :self.python_clicked(self.btns[7])))self.btns[8].clicked.connect((lambda :self.python_clicked(self.btns[8])))self.btns[9].clicked.connect((lambda :self.python_clicked(self.btns[9])))self.btns[10].clicked.connect((lambda :self.python_clicked(self.btns[10])))self.btns[11].clicked.connect((lambda :self.python_clicked(self.btns[11])))self.btns[12].clicked.connect((lambda :self.python_clicked(self.btns[12])))self.btns[13].clicked.connect((lambda :self.python_clicked(self.btns[13])))self.btns[14].clicked.connect((lambda :self.python_clicked(self.btns[14])))self.btns[15].clicked.connect((lambda :self.python_clicked(self.btns[15])))# self.btns[0].clicked.connect((lambda :self.python_clicked(self.btns[0])))# self.btns[0].clicked.connect((lambda :self.python_clicked(self.btns[0])))names = [str(i+1) for i in range(16)]random.shuffle(names)positions = [(i,j) for i in range(4) for j in range(4)]k=0# self.btns[k].clicked.connect((lambda :self.python_clicked(self.btns[k])))for position, name in zip(positions, names):# print (position , position[0])          if name == '':continuebutton=Noneself.btns[k].setText(name)self.btns[k].setFixedSize(self.size,self.size)grid.addWidget(self.btns[k], *position)k=k+1k=9    self.move(300, 150)self.setWindowTitle('Calculator')self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())

import sys

import random

import time

from PyQt5.QtWidgets import (QWidget, QGridLayout,

QPushButton, QApplication,QLabel,QLineEdit)

class Example(QWidget):

def __init__(self):

super().__init__()

self.size = 100

self.cur = 1

# self.start

self.initUI()

def python_clicked(self,btn):

# print("python_clicked 1 clicked",btn,btn.text())

if btn.text() ==str(self.cur):

if self.cur==1:

self.start = time.time()

if self.cur == 16:

self.cur =1

self.cost = time.time() - self.start

print ('cost time', self.cost)

self.cur = self.cur+1

else:

print ('fail, click 1-2-3-4.... ')

self.cur =1

def initUI(self):

grid = QGridLayout()

self.setLayout(grid)

self.btns=[]

for m in range(16):

self.btns.append(QPushButton( ))

# for m in range(16):

self.btns[0].clicked.connect((lambda :self.python_clicked(self.btns[0])))

self.btns[1].clicked.connect((lambda :self.python_clicked(self.btns[1])))

self.btns[2].clicked.connect((lambda :self.python_clicked(self.btns[2])))

self.btns[3].clicked.connect((lambda :self.python_clicked(self.btns[3])))

self.btns[4].clicked.connect((lambda :self.python_clicked(self.btns[4])))

self.btns[5].clicked.connect((lambda :self.python_clicked(self.btns[5])))

self.btns[6].clicked.connect((lambda :self.python_clicked(self.btns[6])))

self.btns[7].clicked.connect((lambda :self.python_clicked(self.btns[7])))

self.btns[8].clicked.connect((lambda :self.python_clicked(self.btns[8])))

self.btns[9].clicked.connect((lambda :self.python_clicked(self.btns[9])))

self.btns[10].clicked.connect((lambda :self.python_clicked(self.btns[10])))

self.btns[11].clicked.connect((lambda :self.python_clicked(self.btns[11])))

self.btns[12].clicked.connect((lambda :self.python_clicked(self.btns[12])))

self.btns[13].clicked.connect((lambda :self.python_clicked(self.btns[13])))

self.btns[14].clicked.connect((lambda :self.python_clicked(self.btns[14])))

self.btns[15].clicked.connect((lambda :self.python_clicked(self.btns[15])))

# self.btns[0].clicked.connect((lambda :self.python_clicked(self.btns[0])))

# self.btns[0].clicked.connect((lambda :self.python_clicked(self.btns[0])))

names = [str(i+1) for i in range(16)]

random.shuffle(names)

positions = [(i,j) for i in range(4) for j in range(4)]

k=0

# self.btns[k].clicked.connect((lambda :self.python_clicked(self.btns[k])))

for position, name in zip(positions, names):

# print (position , position[0])

if name == '':

continue

button=None

self.btns[k].setText(name)

self.btns[k].setFixedSize(self.size,self.size)

grid.addWidget(self.btns[k], *position)

k=k+1

k=9

self.move(300, 150)

self.setWindowTitle('Calculator')

self.show()

if __name__ == '__main__':

app = QApplication(sys.argv)

ex = Example()

sys.exit(app.exec_())

2021-03-11 舒尔特方格 python3 pyqt5相关推荐

  1. 梦想Android版CAD控件2021.03.11更新,手机版CAD控件,安卓CAD控件

    下载地址: https://www.mxdraw.com/ndetail_20173.html 1.修改PL线打碎后,Z值丢失问题 2.增加DrawMText函数 3.修改图块中的图块的对象,颜色随块 ...

  2. E.03.11 A Tale Old and New as Another Royal Wife Breaks Free

    2021.03.11 文章目录 [课程导读] [英文原文] [外刊原文] [课程导读] 已经宣布脱离英国王室的哈里王子和夫人梅根,近期在一场专访节目中揭露了他们在英国王室生活中的摩擦和挣扎,梅根提到自 ...

  3. 2021双11上云狂欢节 | 爆款产品底价全面开售

    一年一度的双11狂欢节终于来啦!怎样用最少的钱获得最多的福利?下面这份攻略收藏好,这波活动快冲! 双11主会场:http://click.aliyun.com/m/1000304310/ 01 领取双 ...

  4. 蘑菇云「行空板Python入门教程」第七课:舒尔特方格小游戏

    注意力是一切学习的根本,是大脑进行感知.学习.思维等认知活动的基本条件.然而,无论是孩子还是成年人,我们常常会因开小差.注意力无法集中而困扰.此时,找到一个合适的方法来训练我们的注意力势在必行. 舒尔 ...

  5. 2021.03.24正则匹配符号

    2021.03.24 正则表达式 from re import fullmatch 正则是一种用来处理文本数据的一种工具.(一般用于处理复杂的文本问题) 1)检测输入的数据是否是手机号? 2)检查输入 ...

  6. 日志2021年11月

    2021.11.2 1.CDD问题 车辆静止时纵向加速度传感器不为零,在程序中已添加偏移量96,但相同代码26日数据正常,27日有异常,需要后续跟进. 2.长安新能源测试报告 功能开,测试了AYC所有 ...

  7. 艾滋病/HIV最新研究成果进展(2021年11月)

    推荐阅读:<细胞治疗.基因编辑.生物制药等各领域最新研究进展消息合集> 根据中商产业研究统计数据,中国抗艾滋病治疗药物市场规模已从2013年的7.9亿元增至2018年的20.2亿元,预计2 ...

  8. 新鲜出炉 | 临床基因组学数据分析实战将于2021年11月12-14开课!!!

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<临床基因组学数据分析实战>于2021年11月12-14 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实时互 ...

  9. python3+PyQt5 实现文档打印功能

    本文通过Python3+PyQt5实现<python Qt Gui 快速编程>这本书13章文档打印功能.本文共通过三种方式: 1,使用HTML和QTextDOcument打印文档 2,使用 ...

最新文章

  1. 一线大厂BAT资深移动开发者倾情打造,教你从0构建App
  2. 全球最权威的区块链行业报告
  3. 拯救莫莉斯[GDOI2014]
  4. 目标检测 yolov1
  5. 通道注意力改进ECANet
  6. M2 Scrum 12.08
  7. Linux系统编程16:进程控制之进程终止以及终止进程的三种情况
  8. CSS超过指定的宽度加省略号
  9. phpcms v9 打开网站特别慢 增加数据库缓存方法
  10. 法的详细步骤_空气能热水工程安装步骤讲解
  11. 小米手机卡顿如何解决
  12. memcached 远程拒绝服务漏洞
  13. zabbix监控系统的实际应用(客户端安装-基本应用设置-报警提醒篇)
  14. 冯氏集团于进博会发布报告,分析影响全球服装采购格局的五大因素
  15. EtherCAT总线运动控制学习笔记(RXXW_Dor)
  16. java map是有序的吗_java中map、set、list是否有序
  17. php登陆网页版微信代码,php版微信公众平台之微信网页登陆授权示例
  18. 互补品的需求曲线图_供给曲线和需求曲线的解析
  19. python 文本分析教程_《Python机器学习基础教程》七、处理文本数据
  20. A. 拼音魔法 大学生程序设计邀请赛(华东师范大学)

热门文章

  1. 相机下载_坚果pro3拍照不给力,那你可以看看这篇:老虎相机安装教程
  2. me511完美刷GMS,可以使用android market,同步gmail联系人,使用google导航
  3. StataJournal来啦!随便看(2001-2020)更新到2020年第2期
  4. 零知识证明 - Groth16算法介绍
  5. Image Processing Unit(IPU)简介
  6. 仿优信二手车品牌选择demo
  7. Matlab绘制各种小波函数及尺度函数图
  8. PHP来客在线客服系统源码 带安装教程
  9. Linkflow+小鹅通,打造全链路线上个性化课堂
  10. ES学习笔记——ES入门:多条件查询、聚合、过滤、排序