小编Mar*_*nen的帖子

什么是 PyGame 精灵,它们有什么作用?

我已经找到了很多关于如何以及何时使用精灵的教程,但我仍然不知道它们是什么或它们做什么。默认的想法似乎是您对pygame.sprite.Sprite类进行子类化并向类添加rectimage属性。但是为什么我需要对类进行子Sprite类化,它如何影响我的代码?反正我可以这样做:

class MySprite:  # No subclassing!
    def __init__(self, image):
        self.image = image
        self.rect = image.get_rect()
Run Code Online (Sandbox Code Playgroud)

它似乎工作得很好。我也尝试过查看源代码,但找不到精灵文件

python pygame sprite python-3.x

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

使用sqlite在sqlalchemy的引擎URL中添加三个斜杠?

SQLAlchemy的文档说:

:memory:如果没有文件路径,则sqlite 标识符是默认的。指定sqlite://,别无其他:

# in-memory database
e = create_engine('sqlite://')
Run Code Online (Sandbox Code Playgroud)

但是,我可以使用三个斜杠而不是两个(sqlite:///)吗?还是我可以自己使用:memory:sqlite:///:memory:)?这样一来,我可以在配置文件中定义所有引擎属性,然后执行以下操作:

url = f'{dialect}+{driver}://{username}:{password}@{host}:{port}/{path}'
Run Code Online (Sandbox Code Playgroud)

代替:

url = f'{dialect}+{driver}://{username}:{password}@{host}:{port}{'/' + path if path else ''}'
Run Code Online (Sandbox Code Playgroud)

但是我可以做

python sqlalchemy python-3.x

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

为什么 Flask-SQLAlchemy 需要主键?

如果我定义一个没有主键的表:

class CustomAttribute(db.Model):
    player = db.Column(db.Integer, db.ForeignKey('player.id'))
    key = db.Column(db.Text, nullable=False)
    value = db.Column(db.Text, nullable=False)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

sqlalchemy.exc.InvalidRequestError: Class <class 'rpgquest.models.CustomAttribute'> does not have a __table__ or __tablename__ specified and does not inherit from an existing table-mapped class.
Run Code Online (Sandbox Code Playgroud)

唯一的解决方法是手动定义__tablename__,但为什么需要这样做?

我不需要主键,因为唯一的请求是获取具有 X 键值对的所有玩家,或者获取某个玩家的所有键值对,并且玩家不能有重复的键。

python sqlalchemy primary-key flask-sqlalchemy

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

将QPixmap绘制成圆形?

我可以画一个QPixmap很好的:

QPainter painter;
painter.drawPixmap(x, y, w, h, my_pixmap);
Run Code Online (Sandbox Code Playgroud)

我也可以画一个圆圈:

painter.drawArc(x, y, w, h, a, alen);
Run Code Online (Sandbox Code Playgroud)

现在我想把这两者结合起来; 我的pixmap可能并不总是一个圆圈(=透明的角落),所以我不能只在屏幕上绘制整个像素图.这意味着我只需要绘制像素图的中心.

这是一张让它更清晰的图片:

骆驼

这可能吗?

c++ qt qpixmap qpainter qt5

0
推荐指数
1
解决办法
1531
查看次数

如何使while循环分配变量?

def valid():
    while True:
        hiOrLo = input("Type 'h' for higher and 'l' for lower.")
        if hiOrLo == "h" or hiOrLo == "l":
            return 
        else:
            print("Invalid, try again")

hiOrLo = 0
valid()

print(hiOrLo)
Run Code Online (Sandbox Code Playgroud)

我理解的是Python在while循环中不会通过"input"改变变量,所以当打印时hiOrLo仍然是"0",但我需要hiOrLo为"h"或"l",无论哪一个我选择,如何在保持功能的同时做到这一点?

python variables function python-3.x

0
推荐指数
1
解决办法
68
查看次数