python编写界面生成exe_PYQT4 Python GUI 编写与 打包.exe程序

#-*- coding: utf-8 -*-

importos,sysfrom PyQt4 importQtCore, QtGuiimportctypesimporttimeimportthreadingtry:

_fromUtf8=QtCore.QString.fromUtf8exceptAttributeError:def_fromUtf8(s):returnstry:

_encoding=QtGui.QApplication.UnicodeUTF8def_translate(context, text, disambig):returnQtGui.QApplication.translate(context, text, disambig, _encoding)exceptAttributeError:def_translate(context, text, disambig):returnQtGui.QApplication.translate(context, text, disambig)classUi_Dialog(object):defsetupUi(self, Dialog):

Dialog.setObjectName(_fromUtf8("Dialog"))

Dialog.resize(397, 244)

self.groupBox_3=QtGui.QGroupBox(Dialog)

self.groupBox_3.setGeometry(QtCore.QRect(10, 20, 381, 211))

self.groupBox_3.setFocusPolicy(QtCore.Qt.WheelFocus)

self.groupBox_3.setAcceptDrops(False)

self.groupBox_3.setAutoFillBackground(True)

self.groupBox_3.setInputMethodHints(QtCore.Qt.ImhNone)

self.groupBox_3.setObjectName(_fromUtf8("groupBox_3"))

self.label_5=QtGui.QLabel(self.groupBox_3)

self.label_5.setGeometry(QtCore.QRect(10, 30, 51, 21))

self.label_5.setLineWidth(1)

self.label_5.setMidLineWidth(1)

self.label_5.setTextFormat(QtCore.Qt.AutoText)

self.label_5.setAlignment(QtCore.Qt.AlignCenter)

self.label_5.setWordWrap(True)

self.label_5.setMargin(0)

self.label_5.setObjectName(_fromUtf8("label_5"))

self.label_6=QtGui.QLabel(self.groupBox_3)

self.label_6.setGeometry(QtCore.QRect(10, 70, 51, 21))

self.label_6.setLineWidth(1)

self.label_6.setMidLineWidth(1)

self.label_6.setTextFormat(QtCore.Qt.AutoText)

self.label_6.setAlignment(QtCore.Qt.AlignCenter)

self.label_6.setWordWrap(True)

self.label_6.setMargin(0)

self.label_6.setObjectName(_fromUtf8("label_6"))

self.spinBox=QtGui.QSpinBox(self.groupBox_3)

self.spinBox.setGeometry(QtCore.QRect(80, 70, 70, 22))

self.spinBox.setMaximum(10000)

self.spinBox.setValue(60)

self.spinBox.setObjectName(_fromUtf8("spinBox"))

self.label_7=QtGui.QLabel(self.groupBox_3)

self.label_7.setGeometry(QtCore.QRect(10, 110, 51, 21))

self.label_7.setLineWidth(1)

self.label_7.setMidLineWidth(1)

self.label_7.setTextFormat(QtCore.Qt.AutoText)

self.label_7.setAlignment(QtCore.Qt.AlignCenter)

self.label_7.setWordWrap(True)

self.label_7.setMargin(0)

self.label_7.setObjectName(_fromUtf8("label_7"))

self.spinBox_2=QtGui.QSpinBox(self.groupBox_3)

self.spinBox_2.setGeometry(QtCore.QRect(80, 110, 70, 22))

self.spinBox_2.setMaximum(10000)

self.spinBox_2.setValue(2)

self.spinBox_2.setObjectName(_fromUtf8("spinBox_2"))

self.radioButton=QtGui.QRadioButton(self.groupBox_3)

self.radioButton.setGeometry(QtCore.QRect(80, 30, 89, 21))

self.radioButton.setAutoRepeat(False)

self.radioButton.setObjectName(_fromUtf8("radioButton"))

self.pushButton=QtGui.QPushButton(self.groupBox_3)

self.pushButton.setGeometry(QtCore.QRect(280, 110, 70, 21))

self.pushButton.setObjectName(_fromUtf8("pushButton"))

self.progressBar=QtGui.QProgressBar(self.groupBox_3)

self.progressBar.setGeometry(QtCore.QRect(10, 170, 361, 23))

self.progressBar.setProperty("value", 0)

self.progressBar.setObjectName(_fromUtf8("progressBar"))

#以上代码都是自动生成的,没有什么难度

#下面的代码是主要是对控件功能的实现

self.radioButton.toggled.connect(self.changeUSBstatus)

self.pushButton.clicked.connect(lambda:self.usbSwitchThreads())#self.pushButton.connect(self.pushButton, SIGNAL("clicked"),self.changeUSBstatus())#QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.pushButton.toggle)

self.retranslateUi(Dialog)

QtCore.QMetaObject.connectSlotsByName(Dialog)defretranslateUi(self, Dialog):

Dialog.setWindowTitle(_translate("Dialog", "Dialog", None))

self.groupBox_3.setTitle(_translate("Dialog", "USB通断控制", None))

self.label_5.setText(_translate("Dialog", "初始状态", None))

self.label_6.setText(_translate("Dialog", "间隔(s)", None))

self.label_7.setText(_translate("Dialog", "切换次数", None))

self.radioButton.setText(_translate("Dialog", "接通/断开", None))

self.pushButton.setText(_translate("Dialog", "点击执行", None))defchangeUSBstatus(self):ifself.radioButton.isChecked():

USBcontrol().connectUsb()else:

USBcontrol().disconnectUsb()defstopUsbSwitch(self):

self.spinBox_2.setValue(0)defexcuteUsbSwitch(self):

self.pTime=self.spinBox.value()

self.eTimes=self.spinBox_2.value()

self.progressBar.setMinimum(0)

self.progressBar.setMaximum(self.eTimes)for i inrange(self.eTimes):

time.sleep(int(self.pTime))

USBcontrol().connectUsb()

time.sleep(int(self.pTime))

USBcontrol().disconnectUsb()

self.progressBar.setValue(i+1)defusbSwitchThreads(self):

threadsList=[]

t= threading.Thread(target=self.excuteUsbSwitch,args=() )

threadsList.append(t)for t inthreadsList:

t.setDaemon(True)

t.start()classUSBcontrol:def __init__(self):

resDict={

0:"成功",1:""}

self.resDict=resDict

dllPath= os.path.abspath(os.path.dirname(__file__))

self.objdll= ctypes.windll.LoadLibrary(dllPath+r'\usbplug.dll')

self.hdl= self.objdll.USBPLUG_Open(1)defconnectUsb(self):

res= self.objdll.USBPLUG_Set(self.hdl, 1) #连接USB

print("连接 USB" +self.resDict[res])defdisconnectUsb(self):

res= self.objdll.USBPLUG_Set(self.hdl, 0) #断开USB

print("断开 USB" +self.resDict[res])def __del__(self):

self.objdll.USBPLUG_Close(self.hdl)if __name__ == "__main__":

app=QtGui.QApplication(sys.argv)

Form=QtGui.QWidget()

main=Ui_Dialog()

main.setupUi(Form)

Form.show()

sys.exit(app.exec_())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值