RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-555112

Flevtek's questions

Martin Hope
Flevtek
Asked: 2025-03-27 23:55:32 +0000 UTC

无法运行 javac/为 jdk 设置环境变量

  • 5

我从官方网站下载了 jdk-24 来使用 c++,但我无法配置它来工作。我已经进入了%JAVA_HOME%,好像也配置了%PATH%,但是不知道为什么还是不行。我尝试重新启动,javac.exe 文件位于 %PATH% 中指定的路径中,而且该命令是在文件夹本身内启动的。为了清楚起见,下面是 set 调用的一个片段

JAVA_HOME= C:\Program Files\Java\jdk-24

...

路径=C:\Program Files(x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler;C:\Program Files(x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WIN DOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files(x86)\GtkSharp\2.12\bin;C:\Program Files\dotnet;C:\Program Files\nodejs;C:\Program Files\Git\cmd;%JAVA_HOME%\bin;C:\Users\user\AppData\Local\Programs\Python\Python313\Scripts;C:\Users\user\AppData\Local\Programs\Python\Python313;C:\Users\user\AppData\Local\Programs\Python\Python310\Scripts;C:\Users\user\AppData\Local\Programs\Python\Python310;C:\Users\user\AppData\Local\Microsoft\WindowsApps;C:\Users\user\AppData\Roaming\npm;C:\Users\user\AppData\Local\Programs\Microsoft VS Code\bin

java
  • 3 个回答
  • 49 Views
Martin Hope
Flevtek
Asked: 2025-02-17 05:52:50 +0000 UTC

使用 pathos.multiprocessing.ProcessPool 作为使用其自身实例的函数

  • 4

是否可以在包含同一池的另一个管道调用的函数上使用pool.apipe?在这两种情况下,我都使用池来实现功能而无需等待它们完成。以下是我所想象的(最小可重现示例):

from pathos.multiprocessing import ProcessingPool as Pool
from sympy import sympify
import pyautogui as auto
import keyboard as k

class Worker:
    def __init__(self):
        self.pool = Pool(2)
    def execute(self, code):
        def execute_start(code):
            def timeout_risk(val):
                return sympify(val, rational=True)
            def expr(val):
                val = eval(f"f'{val}'")
                task = self.pool.apipe(timeout_risk, val)
                res = task.get(timeout=0.25)
                return res
            try:
                exec(code)
                return 200
            except Exception as ex:
                return ex.args[0] if ex.args else type(ex)
        task = self.pool.apipe(execute_start, code)
        return task.get()
    def stop(self):
        self.pool.terminate()
        self.pool.restart()

def check(e):
    if k.is_pressed('ctrl+q'):
        executor.stop()
    elif k.is_pressed('ctrl+1'):
        res = executor.execute('while True:\n\tauto.moveTo(expr("10**2"), 0)')
        print(res)

if __name__ == '__main__':
    k.on_press(check)
    executor = Worker()
    k.wait()

但这样的尝试,最终一切都归结于daemonic processes are not allowed to have children。帮我解决这个问题。没有必要使用 pathos,主要的是概念起作用并且在声明类时创建池。如果有人知道更好的方法来实现这一点,我会很高兴看到它。

python
  • 1 个回答
  • 57 Views
Martin Hope
Flevtek
Asked: 2025-01-09 05:35:23 +0000 UTC

向电报发送错误消息 [PyQt5]

  • 5

我正在尝试将发送错误消息集成到 PyQt5 内的电报中。我输入了 ctrl+x 组合来创建错误。此后,应创建一个具有 win 属性的文件并将其与 Traceback 文本一起发送。我试过:

import io
import sys
import asyncio
import traceback
import keyboard as k
from telegram import Bot
from qasync import QEventLoop
from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox


TELEGRAM_TOKEN = 'TOKEN'
CHAT_ID = 'ID'

class Main_widget(QWidget):
    def __init__(self):
        super().__init__()
        self.x = 1
        k.hook_key('ctrl', lambda e: self.switch(e))
        k.hook_key('x', lambda e: self.check(e))
        self.show()
    def switch(self, e):
        if 'down' in str(e):
            self.temp = True
        else:
            self.temp = False
    def check(self, e):
        if self.temp and 'down' in str(e):
            try:
                if e.name == 'x':
                    aa = 5 / 0
            except:
                ex_type, ex_val, ex_tb = sys.exc_info()
                excepthook(ex_type, ex_val, ex_tb)

async def send_report(tb, lines):
    bot = Bot(token=TELEGRAM_TOKEN)
    file_content = "\n".join(lines) or "Нет данных"
    file_stream = io.StringIO(file_content)
    file_stream.name = "attributes.txt"
    try:
        await bot.send_document(
            chat_id=CHAT_ID,
            document=file_stream,
            caption=f"Сообщение об ошибке:\n{tb}"
        )
    except Exception as e:
        print(f"Ошибка отправки в Telegram: {e}")
    finally:
        file_stream.close()


def excepthook(exc_type, exc_value, exc_tb):
    tb = "".join(traceback.format_exception(exc_type, exc_value, exc_tb))
    lines = []
    if win:
        for name, value in win.__dict__.items():
            if not callable(value) and not name.startswith("__"):
                lines.append(f"{name}: {value}")
    msg = QMessageBox()
    msg.setIcon(QMessageBox.Critical)
    msg.setWindowTitle("Ошибка")
    msg.setText("Во время работы программы возникла ошибка.")
    report = msg.addButton('Сообщить об ошибке и выйти', msg.ActionRole)
    report.clicked.connect(lambda: send_report(tb, lines))
    win.close()
    msg.show()

sys.excepthook = excepthook

if __name__ == "__main__":
    app = QApplication(sys.argv)
    loop = QEventLoop(app)
    asyncio.set_event_loop(loop)
    win = Main_widget()

    with loop:
        loop.run_forever()

当代码显示错误消息时,主窗口将关闭,并且不会发生任何其他事情,尽管程序仍在运行。请帮我弄清楚

python
  • 1 个回答
  • 30 Views
Martin Hope
Flevtek
Asked: 2025-01-05 07:42:39 +0000 UTC

创建您自己的函数以在 sympy.N() 中使用

  • 5

我想为计算器实现一个 dms() 函数,类似于 Windows 计算器。为了计算结果,我在最终公式所在行使用 sympy.N() 方法。我想看到这样的代码:

from sympy import N
def do_smth(x):
    return x+1
result = N('do_smth((8*7)-3)')

我应该如何实施这个?请求:如果你知道更好的使用Sympy库的方法,不要在评论中写下我不知道Sympy之类的。建议您的选择。

python
  • 2 个回答
  • 52 Views
Martin Hope
Flevtek
Asked: 2024-12-31 07:54:57 +0000 UTC

获取没有 html 标签的 QLabel 文本长度(以像素和字符为单位)

  • 7

我需要获取某些HTMLQLabel包含的长度(以像素为单位):QLabel

主要.py:

from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QHBoxLayout


class Win(QWidget):
    def __init__(self):
        super().__init__()
        self.label = QLabel('<font style = "color:red">а</font>')
        self.l = QHBoxLayout()
        self.l.addWidget(self.label)
        self.setLayout(self.l)
        self.show()
        print(self.label.fontMetrics().boundingRect(self.label.text()).width())
if __name__ == '__main__':
    app = QApplication([])
    win = Win()
    app.exec_()

代码返回200像素,显然更多。
如何解决这个问题呢?如果可能的话,请告诉我如何获取不带标签的文本字符长度

python
  • 1 个回答
  • 33 Views
Martin Hope
Flevtek
Asked: 2024-12-19 04:38:42 +0000 UTC

计算 sympy 中角度的精确反正弦值

  • 6

例如,有一条线'7+asin(0.8-0.3)'。如果你把它放在里面print(simplify(parse_expr()).evalf(32)),sympy会打印出以弧度为单位的反正弦值,但即使你用deg:方法填充该行'7+deg(asin(0.8-0.3))',输出结果还是37.000000000000001092276223729355,而预计它只是37。如何解决这个问题没有四舍五入?

python
  • 2 个回答
  • 76 Views
Martin Hope
Flevtek
Asked: 2024-12-15 06:13:23 +0000 UTC

在给定可能的嵌套括号的情况下获取括号中的文本

  • 5

我需要从特定文本之后的括号中获取所有文本,例如在文本示例之后。以前我尝试使用 re 和 pattern 来执行此操作r'example\(.*?\)',但使用嵌套括号时,它将停在嵌套的右括号处。解决这个问题的最佳方法是什么?

python
  • 1 个回答
  • 32 Views
Martin Hope
Flevtek
Asked: 2024-12-09 06:06:54 +0000 UTC

用于查找不在特定子字符串内的数字的模式

  • 5

我需要使用 re.findall 查找所有数字,无论是小数还是整数,但它们不应该位于 Factorial() 括号内。我尝试了该模式 (?<!factorial\()(?<!\.)(?:\d+(?:\.\d+)?),但如果小数点前后超过 1 位数字,则不起作用

python
  • 1 个回答
  • 42 Views
Martin Hope
Flevtek
Asked: 2024-12-02 03:45:45 +0000 UTC

期间内小数和分数运算时不准确

  • 6

我正在尝试添加 0.7 和 1/3 等数字:

print(Decimal(0.7)+Decimal(1/3))

但是当添加这些数字时,它输出 1.033333333333333288924412348。如果因为我正在计划一个类似计算器的项目而无法使用舍入,我该如何解决这个问题?

python
  • 1 个回答
  • 52 Views
Martin Hope
Flevtek
Asked: 2024-10-12 02:07:41 +0000 UTC

如何规范动态创建的QComboBox的操作?

  • 7

如何规范周期?
需要在特定的元素中选择一个元素后QComboBox,它才会显示在控制台中。
启动后,如果您单击按钮两次以上并选择QComboBox除底部元素之外的任何元素,它将首先在控制台中显示所需的元素,然后由于某种原因它将显示剩余的元素,直到底部的元素。
帮助解决此问题。

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QComboBox, QVBoxLayout


class Main_widget(QWidget):
    def __init__(self):
        super().__init__()
        self.ui()

    def ui(self):
        self.add_btns = []
        self.act_btn = QPushButton()
        self.act_btn.clicked.connect(self.add_combo)
        self.l = QVBoxLaypout()
        self.l.addWidget(self.act_btn)
        self.setLayout(self.l)
        self.show()

    def add_combo(self):
        self.act_b_ = QComboBox()
        self.act_b_.addItem('-')
        self.add_btns.append(self.act_b_)
        for element in self.add_btns:
            element.activated.connect(lambda: print(element))
        self.l.addWidget(self.act_b_)

if __name__ == '__main__':
    app = QApplication([])
    win = Main_widget()
    app.exec_()
python
  • 1 个回答
  • 20 Views
Martin Hope
Flevtek
Asked: 2024-10-11 03:34:53 +0000 UTC

我不明白 PyCharm 中的错误

  • 5

我正在使用 PyCharm,编写一个特定的应用程序。这是代码

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QComboBox

class Main_widget(QWidget):
   def __init__(self):
       super().__init__()
       self.ui()
   def ui(self):
       self.b_list = 0
       self.act_btn = QPushButton()
       self.act_btn.clicked.connect(self.add_combo)
   def open_win(self, obj):
       if obj.currentText() == 'delay':
       # ...

   def add_combo(self):
       exec('self.act_b' + str(self.b_list) + ' = QComboBox()')
       exec('self.act_b' + str(self.b_list) + '.activated.connect(lambda: self.open_win(self.act_b' + str(self.b_list) + '))')

if __name__ == '__main__':
   app = QApplication([])
   win = Main_widget()
   app.exec_()

添加该行后,exec('self.act_b' + str(self.b_list) + '.activated.connect(lambda: self.open_win(self.act_b' + str(self.b_list) + '))')它开始出现错误

Traceback (most recent call last):
  File "string", line 1, in lambda
NameError: name 'self' is not defined

我之前指定了 self.act_b0 变量。帮我弄清楚

python
  • 1 个回答
  • 22 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5