eric6新建一个项目在窗口按钮梦幻西游互通版右键辅助按钮为什么没有反应

16:50 提问
Eric6 右键点击生产对话框代码 报错
An unhandled exception occurred. Please report the problem
using the error reporting dialog or via email to .
A log has been written to “C:\Users\ASUS_eric6\eric6_error.log”.
Error information:
——————————————————————————–
, 16:42:09
——————————————————————————–
arguments did not match any overloaded call:
QByteArray(): too many arguments
QByteArray(int, str): argument 1 has unexpected type ‘str’
QByteArray(QByteArray): argument 1 has unexpected type ‘str’
——————————————————————————–
File “D:\Program Files\Python\Python34\Lib\site-packages\eric6\Project\ProjectFormsBrowser.py”, line 840, in generateDialogCode
dlg = CreateDialogCodeDialog(fn, self.project, self)
File “D:\Program Files\Python\Python34\Lib\site-packages\eric6\Project\CreateDialogCodeDialog.py”, line 128, in __init
self.__updateSlotsModel()
File “D:\Program Files\Python\Python34\Lib\site-packages\eric6\Project\CreateDialogCodeDialog.py”, line 292, in __updateSlotsModel
QByteArray(“p{0:d}”.format(index))
——————————————————————————–
Version Numbers:
Python 3.4.3
sip 4.16.9
QScintilla 2.9
WebKit 538.1
eric6 6.0.3 (rev. b876fbf55438)
Platform: win32
3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 :40) [MSC v.1600 64 bit (AMD64)]
——————————————————————————–
Plugins Version Numbers:
PluginAbout 6.0.0
PluginCodeStyleChecker 6.0.0
PluginEricapi 6.0.0
PluginEricdoc 6.0.0
PluginSyntaxChecker 6.0.0
PluginTabnanny 6.0.0
PluginVcsMercurial 6.0.0
PluginVcsPySvn 6.0.0
PluginVcsSubversion 6.0.0
PluginVmListspace 6.0.0
PluginVmTabview 6.0.0
PluginWizardE5MessageBox 6.0.0
PluginWizardPyRegExp 6.0.0
PluginWizardQColorDialog 6.0.0
PluginWizardQFileDialog 6.0.0
PluginWizardQFontDialog 6.0.0
PluginWizardQInputDialog 6.0.0
PluginWizardQMessageBox 6.0.0
PluginWizardQRegExp 6.0.0
PluginWizardQRegularExpression 6.0.0
File: D:\Program Files\Python\Python34\Lib\site-packages\eric6\eric6.py
Function: excepthook
按赞数排序
rgument 1 has unexpected type ‘str’,提示的是参数不对
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐一文对PyQt5与Eric6的安装做了详细的记录。这次将结合使用PyQt5和Eric6以实例的方式向大家展示PyQt5与Eric6的极速GUI开发,同时也可以让大家对PyQt5与Eric6先混个脸熟。
用 Eric6 与 PyQt5 结合,非常方便的实现界面与逻辑分离,满足python的极速GUI编程,你只需要关注程序的逻辑实现,而不需要在界面上花很多时间。
可以说这是一对GUI开发完美的组合!
好了,闲言碎语少说,来点实际的吧!
为了方便使用在正式开始之前我们先简单配置一下Eric6的项目工作区
打开 Eric6
选择菜单栏 设置-首选项
在左侧列表中选择项目-多重项目,点击右侧图标后选定硬盘中的一个位置,我这里是F:\Python\PyQt5文件夹。选好后点击右下方的OK按钮。
简单配置后,让我们正式开始体验极速GUI开发
打开Eric6,菜单栏中选择项目-新建
在项目属性对话框中的项目名称中输入Hello,你会发现右下方的OK按钮不可用。究其原因是项目文件夹中显示的是我们刚设置的多重项目工作区目录,也就是说在该目录下可以存在多个项目。多个项目混在一起肯定是不行的了,还要将它们用文件夹区分开来,简而言之就是该目录下的每个文件夹就是一个项目(当然了,自己胡乱创建的文件夹肯定不是了,呵呵!)。找到原因后我们就可以解决问题了。
点击项目文件夹后面的图标
在打开的选择项目文件夹对话框中右键点击空白处,在弹出的菜单中选择新建-文件夹
更改新建文件夹的名称为Hello(一般与项目名称同),选中该文件夹后点击右下方的选择文件夹按钮
回到项目属性对话框后可以看到项目文件夹已变成F:\Python\PyQt5\Hello,同时右下角的OK按钮已显示可用。
点击OK按钮后出现一个提示框,是否将已有文件添加到项目中?虽然该项目文件夹下还没有任何文件,但是这里选择Yes,因为我曾经选择No后到运行脚本时发现不能执行该功能。
点击Yes后在弹出的文件类型关联对话框直接OK
观察程序主界面的标题栏发现显示Hello – eric6。在项目浏览器的顶部源代码标签里自动为我们生成一个_init_.py文件,该文件中没有任何代码,我们不用去理会。
点击源代码标签右边的窗体标签,在标签下面的空白处右键点击,弹出的菜单选择新建窗体
弹出新建窗体对话框,可以选择其它窗体类型,这里我们使用默认对话框类型,点击OK按钮
在弹出的新建窗体保存对话框中可以看到程序已将路径定位到项目文件夹下,输入文件名后点击保存按钮
在Eric6的窗体标签下可以看到程序已自动创建了HelloWindow.ui文件
点击上一步的保存按钮后,计算机会直接打开Qt设计师,并自动将HelloWindow.ui加载到程序中
在左侧的Widget Box里找到Push Button控件,用鼠标左键按住该控件不放,拖拽到HelloWindow.ui的设计窗体。拖拽两个Push Button控件到窗体
再找到Label控件,拖拽一个该控件到窗体
在程序的右侧观察对象查看器与属性编辑器。使用对象查看器可以快速选取窗体中的控件,属性编辑器可以编辑修改窗体、控件的各种属性。
利用对象查看器选择我们刚拖拽的三个控件,分别将它们的objectName属性更改成:
左边PushButton:Button_ok右边PushButton:Button_close
Label:label
分别将它们的text属性更改成:
左边PushButton:确定右边PushButton:关闭Label:显示
编辑信号/槽
接下来给关闭按钮添加退出程序的命令。在Qt设计师中,可以很直观的为控件添加事件命令,在PyQt5中这种方式添加的事件命令被称为信号/槽。(注:信号/槽机制是PyQt独有的信号传递机制,使用非常方便)
点击工具栏的编辑信号/槽图标
鼠标移动到关闭控件上面,左键按下拖拽处红色地线标志后松开鼠标
弹出配置链接窗口,在该窗口中勾选显示从QWidget继承的信号和槽
在左侧列表选择clicked(),在右侧列表选择close()。
这个操作的意义为:当点击关闭按钮时,执行关闭命令
点击OK后可以看到刚选择的两项已链接附加到关闭按钮上
点击工具栏中的保存按钮后关闭Qt设计师程序
回到Eric6中,右键点击HelloWindow.ui文件,在弹出的菜单中选择编译窗体
稍等片刻后程序会提示编译成功
返回源代码标签可以发现项目中多了一个Ui_HelloWindow.py文件,双击该文件可以查看我们设计好的窗体代码
点击菜单栏的开始-运行脚本(或直接按键盘F2键)
在弹出的运行脚本对话框直接OK
OK后即可看到我们刚在Qt设计师中设计的窗体,点击关闭按钮
弹出对话框中直接OK,即可关闭该程序
进一步完善程序
到现在我们没有编写一句代码即可实现了程序的显示与退出
接下来我们手动给确定按钮添加事件命令
在Eric6中的项目浏览器中找到HelloWindow.ui文件,右键点击该文件,弹出菜单中选择生成对话框代码
在弹出的窗体代码产生器窗口中点击新建
弹出新建对话框类中输入类名后点击OK
回到窗体代码产生器窗口后展开Button_ok(QPushButton),勾选on_Button_ok_clicked(),点击OK
在项目浏览器中可以看到源代码标签下又多了一个HelloWindow.py文件
双击该文件查看程序内容。若现在F2,程序将会报错,将
from .Ui_HelloWindow import Ui_Dialog
中.Ui前面的点去掉
from Ui_HelloWindow import Ui_Dialog
保存后若F2,发现还是不行,程序一闪而过。给源码添加以下内容
保存后F2,没问题了,可以点击确定按钮后还是会报错,是因为我们还没有告诉程序点击确定按钮后程序做出什么反应,修改on_Button_ok_clicked函数如下
保存后F2,点击确定后Label内容显示会变成这是我的第一个 PyQt5 程序,一切正常
附录与后记
附加图:Label控件的位置与宽度
附加图:完成后的文件
虽然我们通过这个实例能够感受得到PyQt5与Eric6结合使用的强大功能与极速GUI开发的能力非比寻常,可是对于像我这样刚接触PyQt5与Eric6的童鞋来说,要想发挥PyQt5与Eric6的强大功能与极速开发也是痴人说梦,究其原因是PyQt5与Eric6的结合让我们只用少量的代码编写就可以实现很多强大的功能,几乎底层的代码都不用去自己编写,因此,PyQt5真正强大的内容离我们很远。
这个实例就像一层窗户纸被捅破了,但是我们根本就迈不过去。所以若要真的学会PyQt5我们还需多学些PyQt5的底层内容,多手动编写一些代码。当随着我们的PyQt5水平不断提高,到那时我们会发现PyQt5与Eric6结合使用才是如虎添翼,驰骋在程序的海洋。
最后将HelloWindow.py代码完整贴附如下:
Module implementing HelloWindow.
import sys
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QDialog, QApplication
from Ui_HelloWindow import Ui_Dialog
class HelloWindow(QDialog, Ui_Dialog):
Class documentation goes here.
def __init__(self, parent=None):
Constructor
@param parent reference to the parent widget
@type QWidget
super(HelloWindow, self).__init__(parent)
self.setupUi(self)
@pyqtSlot()
def on_Button_ok_clicked(self):
self.label.setText('这是我的第一个 PyQt5 程序')
if __name__ == '__main__':
app = QApplication(sys.argv)
dlg = HelloWindow()
dlg.show()
sys.exit(app.exec_())
Python3.6+PyQt5+Eric6.0环境配置
先说一段起因:
之前准备用Halcon和C#混合编程来做课题。但是问题来了,用python写的如CNN这样的算法,不会集成到vs中去。然后没办法,只能决定用python编界面。
PyQt5+Eric6+Anaconda+Pycharm 开发Qt应用环境搭建
关于有些小盆友,一直不知道PyQt怎么开发,怎麽搭建环境,通过经验、资料总结一下。
首先来讲,我也是初学,如果你是大神,建议别浪费时间。
一、安装Anaconda ,别问为什么,因为懒省事儿!...
Python使用PyQt5库 一、Designer界面的使用——终于出界面了。****************
不介绍PyQt5的安装与Designer的安装,这里使用的是Qt 5.7自带的Designer界面编辑器
打开Designer界面后创建一个界面。
这里附上这个文件代码:
ui vers...
Eric6与pyqt5学习笔记 4 【信号,事件和打包exe】
1.事件和处理事件
所有的GUI应用都是事件驱动的。事件主要由应用的用户操作产生的。但是事件可能由其他条件触发,比如:一个网络连接,一个窗口管理器,一个定时器,这些动作都可能触发事件的产生。...
完美安装 Anaconda3 + PyQt5 + Eric6
PyQt5与Eric6是众所周知的Python平台下用来快速开发GUI程序的绝配。
可是刚接触这些的朋友在安装上因为模块的依赖性往往会遇到很多问题,有些问题甚至于搞的人头大。
因为Anaconda...
搭建python+PyQt+Eric平台(东挪西凑反正是完整了)\
( 14:52:51)
仔细看一下,没整理,不过内容足够了!!...
*版权证明: 只允许上传png/jpeg/jpg/gif格式的图片,且小于3M
*详细原因:
交 使用&em&eric&/em&创建一个&em&PyQt&/em&项目 10积分 立即下载 ...
环境:Python3.5 + eric6 + PyQt5(5.6)
软件选择64位
Python下载地址:https://www.python.org/downloads...
在Window平台下安装配置Python &em&PyQt&/em& GUI开发环境 Python环境:python3.2、 &em&PyQt&/em& UI设环境:&em&PyQt&/em&-Py3.2-x86-gpl-4.8.5-1 GUI IDE开发工具:&em&eric&/em&5-5.1.5 是一...
转载http://jingyan.baidu.com/article/17e53e57072e.html
主要介绍Ubuntu 16.04下搭建Python2.7 + P...
没有更多推荐了,有在用eric6 的吗,eric pyqt 编译窗体
我电脑里完全没有pyuic【python吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:194,051贴子:
有在用eric6 的吗,eric pyqt 编译窗体
我电脑里完全没有pyuic收藏
我电脑里完全没有pyuic.exe 啊
没有这个无法编译有木有前辈来接到一下
求助!!!!
登录百度帐号python+eric6+pyqt制作一个计时器 - 简书
python+eric6+pyqt制作一个计时器
做起事情来,忘记时间。想起之前看过的一本书,番茄时钟,工作一段时间,站起来休息一下。现在网上能搜索到很多关于番茄时钟的软件。为了熟悉Pyqt界面开发,自己制作了一个番茄时钟。实现点击开始计时,重新计时,暂停计时,最小化托盘。时间到了,恢复状态。
程序界面如下:
运行界面.png
运行状态图如下:
运行中的状态.png
最小化到托盘状态如下:
托盘下的状态.png
有右键菜单,后续可以增加一些实用的菜单,双击托盘图案,还原窗体。
eric6+pyqt的配置我不多介绍,网上已经很多教程了。
1、使用eric6新建项目,设置好项目属性,项目存放地址
项目属性.png
我这里使用python2与pyqt4,读者自行选择符合自己开发的环境。
确定后,eric6会自动生成一个init.py的空文件
2、制作界面
新建窗体.png
选择对话框.png
选择新建对话框点确定,选择UI文件存放位置以及UI名称,得到45Timer.ui
右键点击45Timer.ui,选择在QT设计大师中打开
设计窗体.png
这里我们用到lcdnumber,pushbutton这两个控件,拖动到主窗体,布局好,设置好图标。最后得到下图:
布局好的窗体.png
回到eric6界面,生成对话框代码
将窗体生成代码.png
点击产生窗体类.png
选择生成三个按钮单击事件.png
完成后,在代码界面会出现45Timer.py文件,里面是实现控件功能代码区。
点击编译所有窗体生成Ui_45Timer.py文件,里面是关于窗体界面代码区
3、实现功能代码
我们首先把窗体的最大化去掉,只保留小化和关闭
在Ui_45Timer.py的主类下加入如下代码:
MainWindow.setWindowFlags(QtCore.Qt.Window|QtCore.Qt.WindowMinimizeButtonHint)
其他功能的实现直接上代码,代码里面有很详细的注释
45Timer.py
INICIO = 2700
class MainWindow(QMainWindow, Ui_MainWindow):
Class documentation goes here.
def __init__(self, parent=None):
Constructor
@param parent reference to the parent widget
@type QWidget
QMainWindow.__init__(self, parent)
self.setupUi(self)
# 设置托盘图标及菜单
self.trayIcon = QtGui.QSystemTrayIcon(self)
self.trayIcon.setIcon(QtGui.QIcon(':/icon/Time_32px.png'))
self.trayIcon.setToolTip(u'番茄时钟')
self.trayIcon.activated.connect(self.trayClick)
trayMenu = QtGui.QMenu(QtGui.QApplication.desktop())
exitAction = trayMenu.addAction(u'退出')
exitAction.triggered.connect(self.exit)
self.trayIcon.setContextMenu(trayMenu)
# 设置倒计时时长
self.timer = QtCore.QTimer()
text = "%d:%02d" % (0 % 60)
self.lcdNumber.display(text)
self.timer.timeout.connect(self.updateTimerDisplay)
@pyqtSignature("")
def on_pushButton_clicked(self):
Slot documentation goes here.
# TODO: not implemented yet
# icon = QtGui.QIcon()
# icon.addPixmap(QtGui.QPixmap((":/icon/pause_524px.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
# self.pushButton.setIcon(icon)
# 设置播放按钮为不可用
self.pushButton.setEnabled(False)
# 设置暂停键可用
self.pushButton_2.setEnabled(True)
# self.inicio = INICIO
self.timer.start(1000)
def updateTimerDisplay(self):
global INICIO
INICIO -= 1
text = "%d:%02d" % (INICIO/60, INICIO % 60)
text = self.lcdNumber.display(text)
if INICIO == 0:
self.timer.stop()
# 时间到了之后,播放按键恢复,时间恢复。
INICIO = 2700
text = "%d:%02d" % (INICIO/60, INICIO % 60)
text = self.lcdNumber.display(text)
self.pushButton.setEnabled(True)
self.trayIcon.hide()
self.showNormal()
@pyqtSignature("")
def on_pushButton_2_clicked(self):
self.pushButton_2.setEnabled(False)
self.pushButton.setEnabled(True)
self.timer.stop()
@pyqtSignature("")
def on_pushButton_3_clicked(self):
global INICIO
INICIO = 2700
self.pushButton_2.setEnabled(True)
text = "%d:%02d" % (INICIO/60, INICIO % 60)
text = self.lcdNumber.display(text)
self.timer.start(1000)
def changeEvent(self, event):
'''改变事件'''
# 判断是否为最小化事件
if event.type() == QtCore.QEvent.WindowStateChange and self.isMinimized():
# 设置隐藏窗体
self.setWindowFlags(self.windowFlags() & ~QtCore.Qt.Tool)
# 显示托盘图标
self.trayIcon.show()
def exit(self):
# 不设置Visible为False,退出后TrayIcon不会刷新
self.trayIcon.setVisible(False)
sys.exit(0)
def closeEvent(self, event):
reply = QtGui.QMessageBox.question(self,
u'警告!', u'你是否真的退出?',
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No,
QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
event.accept()
self.trayIcon.show()
self.hide()
event.ignore()
# self.trayIcon.setVisible(False)
# sys.exit(0)
def trayClick(self, reason):
if reason == QtGui.QSystemTrayIcon.DoubleClick:
self.trayIcon.hide()
self.showNormal()
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
dlg = MainWindow()
dlg.show()
sys.exit(app.exec_())
写的不够详细,想到哪里写到哪。
总结一下自己的写作,还是比较凌乱的,后续需要改进。
学习状态...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
做爬虫做了那么久,开始逐渐不满足写好程序,每次只能完成一件事情。开始思考如何可以做一个简单界面交互,再增加爬虫的可操作室,做交互界面有两个思路: 用Django做一个web界面; 用PyQt做一个exe程序界面; 事实上在我写这一篇文章的时候,已经完成PyQt的demo,再...
1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 (2)WindowState属性: 用来获取或设置窗体的窗口状态。 取值有三种: Normal (窗体正常显示)、 Minimized(窗体以最小化形式显示)和...
转载自优秀三方库以及博客 UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件。 SVPullToRefresh- 下拉刷新控件。 MJRefresh- 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或...
“一场秋雨一场寒”,雨后的唐山,显得更加冷峭些。
静心 从每一天的 晨雾中走来 推开一扇窗户 望远山 听鸟语 闻花香 静心 从清晨走来 由内心深处开始 让抱怨和烦恼 随着晨韵而消失 留住美丽的心境 陪伴着今天
跟准妈妈Carol聊天,她说最近自己也不怎么去公司了。公司环境不好,闷,不通风,还有装修的味道,有人抽烟,虽然肚子里的宝宝已经四个多月了,还是整天担心这担心那的,看到很多报道,真吓人,每天都在担心中。。。 我安慰到:哎呀,前三个月危险期一过,就没事了,有什么可担心的?该吃吃...
书里说 林深时见鹿 海深时见鲸 梦醒时见你 可我林深时雾起 海蓝时涌浪 梦醒时夜续 不见鹿,不见鲸,不见你
没话说有两种好久不见天天见面 我很喜欢坐公交车。 有种仿佛在和一群人车震的奇妙感觉。 好吧,其实就是没钱。 昨天照样没钱的我坐公交车回家,恰好碰到了老黄,好几年没见的朋友,在学校的时候关系一直不错。 其实彼此的微信都有,只是毕业以后各有各的生活圈子,不是你忙就是我也忙,要想...1添加评论分享收藏感谢收起赞同 添加评论分享收藏感谢收起

我要回帖

更多关于 梦幻西游互通版右键辅助按钮 的文章

 

随机推荐