我正在开始使用Python 3在PyQt5中创建GUI。单击按钮后,我要运行“randomint”函数并将返回的整数显示到名为“lcd”的QLCDNumber。
这是我的代码:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLCDNumber
from random import randint
class Window(QWidget):
def __init__(self):
super().__init__()
self.initui()
def initui(self):
lcd = QLCDNumber(self)
button = QPushButton('Generate', self)
button.resize(button.sizeHint())
layout = QVBoxLayout()
layout.addWidget(lcd)
layout.addWidget(button)
self.setLayout(layout)
button.clicked.connect(lcd.display(self.randomint()))
self.setGeometry(300, 500, 250, 150)
self.setWindowTitle('Rand Integer')
self.show()
def randomint(self):
random = randint(2, 99)
return random
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Window()
sys.exit(app.exec_())
我得到的输出:
TypeError:参数1具有意外的类型’NoneType’
如何获得LCD以显示功能“ randomint”的输出?
问题在于,button.clicked.connect
期望使用插槽(Python可调用对象),但是lcd.display
返回None
。因此,我们需要一个简单的函数(插槽)来button.clicked.connect
显示您新生成的值。这是工作版本:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLCDNumber
from random import randint
class Window(QWidget):
def __init__(self):
super().__init__()
self.initui()
def initui(self):
self.lcd = QLCDNumber(self)
button = QPushButton('Generate', self)
button.resize(button.sizeHint())
layout = QVBoxLayout()
layout.addWidget(self.lcd)
layout.addWidget(button)
self.setLayout(layout)
button.clicked.connect(self.handleButton)
self.setGeometry(300, 500, 250, 150)
self.setWindowTitle('Rand Integer')
self.show()
def handleButton(self):
self.lcd.display(self.randomint())
def randomint(self):
random = randint(2, 99)
return random
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Window()
sys.exit(app.exec_())
Verity Sense 配有一个按钮,根据使用情况和按下时长具有不同功能。参见下文,了解按钮在不同模式下的功能以及不同颜色 LED 的含义。 按钮功能 打开/关闭传感器 短按按钮可打开传感器。 按住按钮可关闭传感器。 选择训练模式 要选择训练模式,请短按按钮进行切换,直至所需模式旁的 LED 灯亮起。 您可通过短按按钮来查看已锁定的训练模式。侧边的状态 LED 灯在心率模式下亮蓝色,在记录模式下
我想知道是否有人知道一种很好的方法,可以使用Capybara/Browserstack/Cucumber按顺序启动各个浏览器堆栈测试。 我在使用Capybara时遇到了一些问题,因为browserstack不会在每次运行时都使用我的新功能进行更新,即使我关闭了浏览器,也不会更新,即:两次测试在browserstack中顺序启动,但使用相同的浏览器和操作系统设置。 摘要场景:运行登录测试假设我想测试
问题内容: 我正在Flask中构建一个相当简单的WebApp,该WebApp通过网站的API执行功能。我的用户使用他们的帐户URL和API令牌填写表单;当他们提交表单时,我有一个Python脚本,可通过API从其帐户中导出PDF。此功能可能需要很长时间,因此我想在表单页面上显示引导进度条,以指示脚本在过程中进行的进度。我的问题是函数运行时如何更新进度条?这是我在说的简化版本。 views.py:
手表有五个按钮,根据使用情况有不同功能。请查看下表了解各个按钮在不同模式中具有的功能。 时间视图和菜单 背光灯 返回 OK 向上/向下 启动背光 在时间视图中,按下查看电池状态符号 长按可锁定按钮和触控显示屏 进入菜单 返回至上一个水平 保留设置不变 取消选择 长按可从菜单返回至时间视图 在时间视图中,长按以开始配对和同步 确认显示屏上所示的选择 长按进入训练准备模式 按下查看有关手表面显示信息的
手表有五个按钮,根据使用情况有不同功能。请查看下表了解各个按钮在不同模式中具有的功能。 时间视图和菜单 背光灯 返回 OK 向上/向下 启动背光 在时间视图中,按下可查看电池状态符号 长按可锁定按钮和触控显示屏 进入菜单 返回至上一个水平 不更改设置 取消选择 长按可从菜单返回至时间视图 在时间视图中,长按以开始配对和同步 确认显示屏上所示的选择 长按进入训练准备模式 按下查看有关手表面显示信息的
Polar M600 有两个按钮:正面按钮与侧边电源按钮。 正面按钮 侧边电源按钮 触屏 前置按钮 在训练过程中使用正面按钮可轻易地启用 Polar 应用程式。您可使用正面按钮进行以下操作: 从主屏幕上迅速打开 Polar 应用程式 在 Polar 应用程式菜单中打开Training (训练)。 选择您想进行的运动并在运动内容列表中开始训练。 训练期间手动记圈。 暂停训练。 停止训练课。 训练结束