我正在尝试为工作中的项目构建GUI;此GUI的一个要求是它必须为用户提供字段以扫描条形码中包含的重要数据。我正在捕获每个Field的结果并将其存储在Global变量中,以便稍后保存到CSV中。
由于PyGame 1.9.3似乎没有内置的文本字段模块,我尝试使用目前可用的第三方系统; “EzText”和“Text_Input”。但是,我在我的机器上安装这两个问题时遇到了问题(我运行的是Windows 7 SP1,64位)。
以下是对于上下文的概述: 在执行PyVisa(1),PyGame(2),Git(3)32位和cx_Freeze(4)的安装之后,我尝试进行Eztext和Text_Input的pip-install,既不是Ez也不是TI的GitHub(a (5),b(6))或Pygame(a(7),b(8))页面有特殊的安装说明。执行此操作的说明我从这里(9),这里(10)和这里(11)。 python -m pip install -e git + https://github.com/ffavela/eztext.git#egg=eztext python -m pip install -e git + https://github.com/Nearoo/pygame-text-input#egg=pygame-text-input
两次尝试的结果输出大致相同(考虑到Github地址和模块名称的差异): 点差1(12) 点差2(13)
此后我一直在尝试创建一个或多个文件,其中我正在寻找的类函数是构建的。为此,我按照How to import a module given the full path?的Checked回答。
import time
import sys
import visa # Used for commands later in the GUI.
import os
from pygame.locals import *
import pygame
#import eztext
import imp
foo = imp.load_source('module.eztext','C:/Python27/src/eztext/eztext.py')
foo.Input()
pygame.init()
#... Later on in the code; skipping source commentary and version history
# Declare Global Variables
global serialnum
serialnum = "default" # Init value
#... skip to creation of PyGame object.
gameDisplay = pygame.display.set_mode(1000,750)
#... Later on in the code; the instance of using the function from <eztext.py>
def PopupOne():
intro = True
#... Skip error-trapping segment.
global serialnum
serialnumField = eztext.Input(maxlength=45,color=(255,0,0),prompt='Serial#:')
# Capture Events for this Field.
events = pygame.event.get()
serialnum = serialnumField.update(events)
# Draw and position the Field [indicates preference of Eztext over Text_Input, due to built-in functions]
serialnumField.set_pos(150,200)
serialnumField.draw(gameDisplay)
#... skip ahead to the end of the Method
pygame.display.update()
# End of <PopupOne()>
现在,对于我在Run上看到的问题---这是IDLE的输出(对于匿名的文件路径略有改动):
Warning (from warnings module):
File "C:/Python27/src/eztext/eztext.py", line 2
from pygame.locals import *
RuntimeWarning: Parent module 'module' not found while handling absolute import
Warning (from warnings module):
File "C:/Python27/src/eztext/eztext.py", line 3
import pygame, string
RuntimeWarning: Parent module 'module' not found while handling absolute import
Traceback (most recent call last):
File "Z:\******\Programming\PyGame\pg_sys_master2.py", line 22, in <module>
foo.Input()
File "C:/Python27/src/eztext/eztext.py", line 25, in __init__
['maxlength', '-1'], ['prompt', '\'\''],['focus','False'])
File "C:/Python27/src/eztext/eztext.py", line 13, in __init__
else: exec('self.'+key[0]+' = '+key[1])
File "<string>", line 1, in <module>
error: font not initialized
>>>
我的查询: Python 2.7.13是否已更改为上面链接的67631中提到的方法不再有效的程度?我是否仅限于将内容复制粘贴到我的主文件中?