大家好!我在QPushButton实例上发现了一些奇怪的东西。哦,首先,我正在使用..
我的测试代码是...
# coding: utf-8
import sys, time
from PyQt5.QtWidgets import QWidget, QApplication, QPushButton
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.targetBtn = QPushButton('target', self)
self.targetBtn.move(100, 100)
self.targetBtn.clicked.connect(self.sleep5sec)
self.setGeometry(100, 100, 300, 300)
self.show()
def sleep5sec(self):
self.targetBtn.setEnabled(False)
time.sleep(5)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
我想要的是..当用户按下目标按钮时,该按钮立即被禁用。但在我的代码中,sleep(5)之后禁用目标按钮。
我的代码有什么问题?
感谢您阅读我的问题!请帮忙!
嗨,大家好.
我正在使用Windows 7中的python3.4,PyQt5制作GUI应用程序.
申请很有样.用户单击主窗口的按钮,弹出信息对话框.当用户单击信息对话框的关闭按钮(窗口的X按钮)时,系统会显示确认消息.这是所有的了.
这是我的代码.
# coding: utf-8
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QDialog, QLabel
class mainClass(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
openDlgBtn = QPushButton("openDlg", self)
openDlgBtn.clicked.connect(self.openChildDialog)
openDlgBtn.move(50, 50)
self.setGeometry(100, 100, 200, 200)
self.show()
def openChildDialog(self):
childDlg = QDialog(self)
childDlgLabel = QLabel("Child dialog", childDlg)
childDlg.resize(100, 100)
childDlg.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
mc = mainClass()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
结果截图是......
在这种情况下,我在mainClass类中添加了这些代码.
def closeEvent(self, event):
print("X is clicked")
Run Code Online (Sandbox Code Playgroud)
此代码仅在主窗口关闭时有效.但是我想要的是closeEvent函数在关闭childDlg时有效.不是主窗口.
我该怎么办?
我正在 Windows 7 中使用 python3、PyQt5 制作 GUI 桌面应用程序。
我想要做的是:
当我的应用程序运行时,它使用 QTableWidget 创建一个空表。还有四个按钮。
当用户单击第一个按钮时,空表有 2 行 4 列。
在这种情况下,如果用户单击另一个按钮,则先前的列和行将被删除,表格将获得 10 列和 20 行。
我做了一个空表,但我不知道如何动态创建列和行。
这是我的代码:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QTableWidget, QPushButton
class mainClass(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.tableWidget = tableManager()
self.returnedTableWidget = self.tableWidget.makeTable(self)
btnMaker = buttonManager()
btnMaker.makeTestBtn(self)
self.setGeometry(100, 100, 700, 600)
self.show()
class buttonManager(QWidget):
def __init__(self):
super().__init__()
def makeTestBtn(self, parent):
testBtn01 = QPushButton("2 X 4", parent)
testBtn02 = QPushButton("4 X 8", parent)
testBtn03 = …Run Code Online (Sandbox Code Playgroud)