Ok。だから、私はしばらくこれを理解しようとしてきましたが、行き詰まっています。これを実行しようとするたびに、ウィンドウが開いてすぐに閉じます。私はそれを理解できないようです。助けてください。
ご参考までに。円柱を作成するFreeCAD用マクロです。以前に他のマクロを作成したことがありますが、それらは問題なく動作します。PyQt GUI を導入するまで、問題は発生しませんでした。
import FreeCAD, math
from FreeCAD import Base, Draft, Part
from PyQt4 import QtGui, QtCore
class Muffler(QtGui.QWidget):
def __init__(self):
super(Muffler, self).__init__()
self.initUI()
def initUI(self):
#Introduce Labels and inputs
self.t0 = QtGui.QLabel("Cylinder",self)
self.t01 = QtGui.QLabel(" ",self)
self.t1 = QtGui.QLabel("Radius of Cylinder (mm)",self)
self.l1 = QtGui.QLineEdit(self)
self.l1.setText("31.75")
self.t2 = QtGui.QLabel("Length of Cylinder (mm)",self)
self.l2 = QtGui.QLineEdit(self)
self.l2.setText("50")
#Create buttons
self.createButton = QtGui.QPushButton("Create",self)
self.cancelButton = QtGui.QPushButton("Cancel",self)
#Create window and size it
layout = QtGui.QGridLayout()
self.resize(240,180)
self.setWindowTitle("Cylinder")
#Design Layout of window
layout.addWidget(self.t0, 0, 0)
layout.addWidget(self.t01, 0, 1)
layout.addWidget(self.t1, 1, 0)
layout.addWidget(self.l1, 1, 1)
layout.addWidget(self.t2, 2, 0)
layout.addWidget(self.l2, 2, 1)
layout.addWidget(self.createButton, 3, 0)
layout.addWidget(self.cancelButton, 3, 1)
#Set Layout and show it
self.setLayout(layout)
self.show()
#Give functionality to the buttons
QtCore.QObject.connect(self.createButton, QtCore.SIGNAL('clicked()'),self.build)
QtCore.QObject.connect(self.cancelButton, QtCore.SIGNAL('clicked()'),self.close)
def build(self):
#some code
def close(self):
self.hide()
Muffler()