小编pip*_*117的帖子

如何使批处理文件作为命令运行字符串?

我想制作一个批处理文件来绕过我的计算机上的一些cmd问题,但为此我需要能够获取String用户输入并将其作为命令运行.

基本上我想要做的是在批处理文件请求输入时键入命令,并让计算机运行该命令,类似于python的os模块(类?)

windows cmd batch-file

25
推荐指数
2
解决办法
4万
查看次数

如何获得相对于摇摆窗口的鼠标单击位置

说我在Java Swing JFrame中.我点击我的鼠标.我想在GUI中获取鼠标单击的位置.在java中,行

int mouseX = MouseInfo.getPointerInfo().getLocation.x;
Run Code Online (Sandbox Code Playgroud)

似乎在整个屏幕上给出了鼠标的位置.我如何获得相对于GUI的位置?

java mouse swing position

15
推荐指数
3
解决办法
9万
查看次数

如何找到操作系统的名称?

问题很简单.我想要一个函数(C++)或方法,它将在电话中返回类似的东西

"Windows" //or
"Unix"
Run Code Online (Sandbox Code Playgroud)

没什么好看的,我不需要版本号或任何东西.只是os的名字.一个快速的谷歌搜索没有出现任何有用的东西,所以我想我会在这里发布

c++ operating-system

14
推荐指数
2
解决办法
2万
查看次数

如何让Tkinter在mac上工作

可能重复:
在Python中导入Tkinter时的ImportError

我安装了带有Mountain Lion的Mac.我想在它上面开发Python,所以我抓住了Python 3.3候选版本并开始使用它.但是,我试图开始使用Tkinter图形,当我尝试这一行:

from Tkinter import *
Run Code Online (Sandbox Code Playgroud)

Eclipse(和IDLE)给了我这个令人讨厌的错误

Traceback (most recent call last):
File "/Users/venkatsmoorthy/Documents/workspace/Python/python/tkinterGUI/tkinter_1.py" line 7, in <module>
from Tkinter import *
ImportError: No module named 'Tkinter'
Run Code Online (Sandbox Code Playgroud)

我不想降级.我愿意,但只有3.2.3.请不要让我这样做.

我做了谷歌,并发现OSX与Tkinter有一些问题.我尝试了一些解决方案,但没有骰子.请回答您自己的说明,了解如何让tkinter在python 3.3/3.2上运行.

python tkinter

13
推荐指数
1
解决办法
4万
查看次数

是opengl跨平台吗?如果没有,游戏如何移植?

好的,所以说我正在用opengl用c ++编写游戏.游戏在屏幕上绘制了一些简单的形状,如方块.现在说我想在Windows上运行"游戏".我该如何移植呢?实际的c ++不会是问题,因为它可以根据我的理解重新编译以适应环境.但是对openGL库的调用会被打破吗?将为开发包含的实际opengl库将被编译为os,这将需要重新加载库,这将导致对源的修改.哪个会破坏原有环境下的程序吧?

tl; dr有没有办法为多个操作系统构建一个opengl游戏,而不必将源代码修改为特定于平台或下载外部包装器或库?

c++ opengl porting cross-platform

13
推荐指数
1
解决办法
2万
查看次数

Ubuntu Tkinter安装不包括PyImagingPhoto

对于那些需要知道的人,我正在运行64位Ubuntu 12.04,并尝试使用pip安装的python3.2运行有问题的脚本

对于我写的项目,我想在tkinter窗口中显示图像.为此,我通过pip安装了Pillow并为python 3安装了tkinter,如下所示:

pip-3.2 install pillow #install stuff here
sudo apt-get install python3-tk
Run Code Online (Sandbox Code Playgroud)

然后我尝试运行以下脚本

import tkinter
from PIL import Image, ImageTk

root = tkinter.Tk()
i = Image.open(<path_to_file>)
p = ImaageTk.PhotoImage(i)
Run Code Online (Sandbox Code Playgroud)

还有更多,但该块会引发错误.无论如何,当我尝试运行它时,我得到以下错误输出

/usr/bin/python3.2 "/home/anish/PycharmProjects/Picture Renamer/default/Main.py"
Traceback (most recent call last):
  File "/usr/local/lib/python3.2/dist-packages/PIL/ImageTk.py", line 184, in paste
    tk.call("PyImagingPhoto", self.__photo, block.id)
_tkinter.TclError: invalid command name "PyImagingPhoto"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/anish/PycharmProjects/Picture Renamer/default/Main.py", line 26, in <module>
    n = Main("/home/anish/Desktop/Images/")
  File "/home/anish/PycharmProjects/Picture …
Run Code Online (Sandbox Code Playgroud)

tkinter python-imaging-library python-3.x

10
推荐指数
1
解决办法
5840
查看次数

如何在tkinter窗口中绘制图像

如何在tkinter窗口中绘制图像(我使用的是python 3.3)?我正在寻找一个声明,它会在tkinter窗口的给定位置绘制图像.

是啊...

任何答案将不胜感激.这里是我想要使用代码的程序的源代码(如果它可以被称为),以防你需要它.

from tkinter import *

class craftClass():
    def __init__(self, x = 80, y = 80, xmotion = 0, ymotion = 0, health = 20):
        self.xPos, self.yPos = x, y
        self.dx, self.dy = xmotion, ymotion
    def moveCraft(self):
        self.xPos += self.dx
        self.yPos += self.dy

class missileClass():
    def __init__(self, x = 0 , y = 0):
        self.xPos, self.yPos = x, y

class alienClass():
    def __init__(self, x, y):
        self.xPos, self.yPos = x, y

    def moveForCraft(self, craftX, craftY):
        if self.xPos < craftX: …
Run Code Online (Sandbox Code Playgroud)

python user-interface image tkinter draw

8
推荐指数
1
解决办法
2万
查看次数

如何在Python中正确扩展其他类?(python v3.3)

我在过去的几天里开始学习python,在探索面向对象的编程时,我遇到了问题.我在运行pydev插件时使用Eclipse,运行在python 3.3 beta上,并使用的是Windows 64位系统.

我可以初始化一个类并使用其中的任何方法,只要我不尝试扩展超类(我在不同的源文件中编码的每个类)例如,以下代码编译并运行正常.

class pythonSuper:
    string1 = "hello"
    def printS():
        print pythonSuper.string1
Run Code Online (Sandbox Code Playgroud)

以及访问和运行它的代码......

from stackoverflow.questions import pythonSuper
class pythonSub:
    pysuper = pythonSuper.pythonSuper()
    pysuper.printS()
Run Code Online (Sandbox Code Playgroud)

就像我说的那样有效.以下代码没有

class pythonSuper: """Same superclass as above. unmodified, except for the spacing"""
string1 = "hello"
def printS(self):
    print(pythonSuper.string1)
Run Code Online (Sandbox Code Playgroud)

嗯,那不是真的.至少据我所知,超类绝对没问题.它是奇怪的子类

from stackoverflow.questions import pythonSuper
class pythonSub(pythonSuper):
    pass

pythonObject = pythonSub()
pythonSub.pythonSuper.printS()
Run Code Online (Sandbox Code Playgroud)

当子类运行时,Eclipse会打印出这个错误

Traceback (most recent call last):
   File "C:\Users\Anish\workspace\Python 3.3\stackoverflow\questions\pythonSub.py",           
   line 7, in <module>
class pythonSub(pythonSuper):
TypeError: module.__init__() takes at most 2 arguments (3 given)
Run Code Online (Sandbox Code Playgroud)

我不知道是怎么回事.我一直在从newboston的教程中学习python,但是那些已经过时了(我认为他的教程代码使用的是python版本2.7).他还在IDLE中编码,这意味着他的类都包含在一个文件中.然而,我的所有文件都是用自己的文件编码的.这意味着我不知道我得到的代码错误是由于过时的语法还是我对这种语言缺乏了解.但我离题了.如果有人可以回复一个解决方案和/或解释代码出错的原因以及我可以做些什么来解决它.解释将是优选的.我宁愿知道我做错了什么,所以我可以在类似的情况下避免和修复问题,而不仅仅是复制并粘贴一些代码,看看它是否有效.谢谢,我期待着你的回答

python oop class

6
推荐指数
1
解决办法
7611
查看次数

如何在课程中使用pyglet

在我见过的有关Pyglet的所有Web教程中,似乎没有一个教程使用类来包含pyglet.window.Window实例。例如,大多数教程看起来像

import pyglet

game_window = pyglet.window.Window()

@game_window.event
def on_draw():
    #dostuff

while __name__ == "__main__":
    pyglet.app.run()
Run Code Online (Sandbox Code Playgroud)

我在将这段代码重组为一个类时遇到麻烦。我打算这样做的代码在这里:

import pyglet
from pyglet.gl import *
from Board import Board

class Frontend:
    def __init__(self,xs, ys):
        self.GameInstance = Board(xs,ys)
        self.GameWindow = pyglet.window.Window(width=512, height=512,visible=False)

    @GameWindow.event
    def on_draw(self):
        self.GameWindow.clear()

f = Frontend()
Run Code Online (Sandbox Code Playgroud)

运行此代码时,出现以下错误:

Traceback (most recent call last):
  File "C:/Users/PycharmProjects/Nothing/2048/Frontend.py", line 7, in <module>
    class Frontend:
  File "C:/Users/PycharmProjects/Nothing/2048/Frontend.py", line 13, in Frontend
    @GameWindow.event
NameError: name 'GameWindow' is not defined
Run Code Online (Sandbox Code Playgroud)

当我更换@GameWindow.event同@self.GameWindow.event在试图解决NameError我得到:

Traceback (most recent …
Run Code Online (Sandbox Code Playgroud)

python overriding class pyglet

5
推荐指数
1
解决办法
1998
查看次数

我为python3安装了PyOpenGl,当我导入包时,我得到了值错误

我想从一些PyOpenGL开始,所以我启动进入Mac Osx尝试它.我去了PyOpenGl网站,下载了PyOpenGl和PyOpenGl_accelerate tars,cd进了我的下载目录,然后在终端输入这些命令进行安装:

tar -zxvf PyOpenGL-3.0.2.tar.gz
cd PyOpenGL-3.0.2
python3 setup.py install #I changed 'python' to 'python3' to install it to my python3. 
Run Code Online (Sandbox Code Playgroud)

接下来,我键入这些来安装加速包

tar -zxvf PyOpenGL-accelerate-3.0.2.tar.gz
cd PyOpenGL-accelerate-3.0.2
python3 setup.py install #Again, 'python' replaced with 'python3'
Run Code Online (Sandbox Code Playgroud)

最后,我运行此代码来测试安装

python3
>>>from OpenGL.GL import *
Run Code Online (Sandbox Code Playgroud)

这给了我这一串可爱的错误

    Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python3/3.3.0/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/PyOpenGL-3.0.2-py3.3.egg/OpenGL/GL/__init__.py", line 3, in <module>
    from OpenGL.GL.VERSION.GL_1_1 import *
  File "/usr/local/Cellar/python3/3.3.0/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/PyOpenGL-3.0.2-py3.3.egg/OpenGL/GL/VERSION/GL_1_1.py", line 10, in <module>
    from OpenGL import platform, constants, constant, arrays
  File "/usr/local/Cellar/python3/3.3.0/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/PyOpenGL-3.0.2-py3.3.egg/OpenGL/arrays/__init__.py", line …
Run Code Online (Sandbox Code Playgroud)

python macos install pyopengl

3
推荐指数
1
解决办法
3736
查看次数