小编Aar*_*ron的帖子

常量表达式包含无效操作

我有以下代码,我得到错误"PHP致命错误:常量表达式包含无效操作".当我在构造函数中定义变量时,它工作正常.我正在使用Laravel框架.

<?php

namespace App;

class Amazon
{
    protected $serviceURL = config('api.amazon.service_url');

    public function __construct()
    {
    }

}
Run Code Online (Sandbox Code Playgroud)

php properties class syntax-error compile-time-constant

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

在 PySide6 中使用 GraphicalEffects

我正在使用 PySide6 并尝试使用 GraphicalEffects 模块。

根据此处的文档: https: //doc.qt.io/qt-6/qtgraphicaleffects5-index.html

我在做:

import Qt5Compat.QtGraphicalEffects
Run Code Online (Sandbox Code Playgroud)

我收到的错误:

"Qt5Compat.QtGraphicalEffects" is not installed
Run Code Online (Sandbox Code Playgroud)

我如何安装这个模块?我的 Linux 机器上安装了 PySide6.2.2.1。

qt qml pyside2 qt6 pyside6

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

Laravel PHP - 为Artisan控制台输出添加时间戳

我正在使用Laravel PHP框架.

什么是前面加上时间戳的工匠控制台输出(即最好的办法$this->info,$this->error)的App\Console\Command类?

我不想在每一行中重复一个时间戳方法.我宁愿让它自动化.

谢谢

php laravel artisan

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

将STDERR重定向到变量

我有此代码会产生错误,并且可以抑制STDOUT,但不会将STDERR存储在变量ERROR中。

ERROR = $(memtester 900 1 > /dev/null)
Run Code Online (Sandbox Code Playgroud)

linux bash shell stdout stderr

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

PyInstaller 和 QML 文件

如何将 QML 文件作为单个可执行文件包含到我的 Python 项目中。当我运行时pyinstaller --onefile main.py,运行可执行文件会导致未找到 QML 文件的错误。除非我使用绝对路径或放置view.qml在与可执行文件相同的目录中。我不想有一个单独的 QML 文件,我希望它合并到可执行文件中。

主要.py:

if __name__ == "__main__":
  app = QGuiApplication(sys.argv)
  engine = QQmlApplicationEngine()
  engine.load(QUrl("view.qml"))
  sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

视图.qml:

import QtQuick 2.0

ApplicationWindow {
  id: window
  title: "Window"
  width: 900
  height: 600
  visible: true
}
Run Code Online (Sandbox Code Playgroud)

python pyinstaller qml pyside2

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

记录发出函数和 QT 发出信号之间的名称冲突

我试图在每次调用日志处理程序发出函数时发送 Qt 信号。但我认为 MyLogHandler.emit 和 log.emit 函数是冲突的。

from PySide2.QtCore import QObject, Signal
import logging

class MyLogHandler(logging.Handler, QObject):
    log = Signal(str)

    def emit(self, record):
        self.log.emit('send')

if __name__ == "__main__":
    logging.getLogger().addHandler(MyLogHandler())
    logging.warning('logging test')
Run Code Online (Sandbox Code Playgroud)

错误:

TypeError: emit() takes 2 positional arguments but 3 were given
Run Code Online (Sandbox Code Playgroud)

更新:

我尝试使用组合(根据@eyllanesc),但我仍然无法将信号连接到 QML 文件。我不知道为什么我无法在 QML 中接收信号。它似乎没有发射任何东西。我究竟做错了什么?

from functools import cached_property
import logging
import sys

from PySide2.QtGui import QGuiApplication
from PySide2.QtQml import QQmlApplicationEngine
from PySide2.QtCore import QCoreApplication, QObject, QTimer, Signal, QUrl

class Main(QObject):
    log = Signal(str)


class Log(object):
    def …
Run Code Online (Sandbox Code Playgroud)

python pyqt pyside pyqt5 pyside2

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