小编Ond*_*sky的帖子

Vue 3 Vite-动态图片src

我正在使用 Vue 3 和 Vite。在 Vite 构建生产后,我遇到了动态 img src 的问题。对于静态 img src 没有问题。

<img src="/src/assets/images/my-image.png" alt="Image" class="logo"/>
Run Code Online (Sandbox Code Playgroud)

它在两种情况下都运行良好:在开发模式下运行时以及在 vite 构建之后。但我有一些图像名称存储在动态加载的数据库中(菜单图标)。在这种情况下,我必须像这样编写路径:

<img :src="'/src/assets/images/' + menuItem.iconSource" />
Run Code Online (Sandbox Code Playgroud)

(menuItem.iconSource 包含图像的名称,如“my-image.png”)。在这种情况下,它在开发模式下运行应用程序时有效,但在生产构建后无效。当 Vite 为生产构建应用程序时,路径会发生更改(所有资源都放入_assets文件夹中)。静态图片源是由Vite build处理的,路径也会相应改变,但合成图片源则不然。它只是/src/assets/images/作为一个常量,不会改变它(当应用程序抛出 404 not find for image /src/assets/images/my-image.png 时,我可以在网络监视器中看到它)。我试图找到解决方案,有人建议使用require(),但我不确定 vite 是否可以使用它。

vue.js vuejs3 vite

69
推荐指数
6
解决办法
9万
查看次数

在Qt中创建UTF-8文件

我正在尝试在Qt中创建一个UTF-8编码文件.

#include <QtCore>

int main()
{
    QString unicodeString = "Some Unicode string";
    QFile fileOut("D:\\Temp\\qt_unicode.txt");
    if (!fileOut.open(QIODevice::WriteOnly | QIODevice::Text))
    {
        return -1;
    }

    QTextStream streamFileOut(&fileOut);
    streamFileOut.setCodec("UTF-8");
    streamFileOut << unicodeString;
    streamFileOut.flush();

    fileOut.close();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我认为当QString默认为Unicode时,当我将输出流的编解码器设置为UTF-8时,我的文件将是UTF-8.但它不是,它是ANSI.我做错了什么?我的琴弦有问题吗?你能纠正我的代码来创建UTF-8文件吗?对我来说,下一步将是读取ANSI文件并将其保存为UTF-8文件,因此我将不得不对每个读取字符串执行转换,但现在,我想从一个文件开始.谢谢.

unicode qt4 utf-8

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

如何在PyQT中的类之间连接pyqtSignal

如何正确连接pyqtSignal两个不同的对象(类)?我的意思是最佳实践.

看看我为实现目标所做的工作:ThermometerPot升高温度时通知班级:

from PyQt4 import QtCore

class Pot(QtCore.QObject):
    temperatureRaisedSignal = QtCore.pyqtSignal()

    def __init__(self, parent=None):
        super(Pot, self).__init__(parent)
        self.temperature = 1
    def Boil(self):
        self.temperature += 1
        self.temperatureRaisedSignal.emit()
    def RegisterSignal(self, obj):
        self.temperatureRaisedSignal.connect(obj)

class Thermometer():
    def __init__(self, pot):
        self.pot = pot
        self.pot.RegisterSignal(self.temperatureWarning)
    def StartMeasure(self):
        self.pot.Boil()
    def temperatureWarning(self):
        print("Too high temperature!")

if __name__ == '__main__':
    pot = Pot()
    th = Thermometer(pot)
    th.StartMeasure()
Run Code Online (Sandbox Code Playgroud)

或者有更简单/更好的方法吗?

我还坚持(如果可能的话)使用"新"式PyQt信号.

python pyqt pyqt4

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

在Vue.js中获取对方法中元素的引用

如何引用在Vue.js中触发该方法的元素?我有这样的HTML:

 <input type="text" v-model="dataField" v-bind:class="dataFieldClass" />
Run Code Online (Sandbox Code Playgroud)

在我的Vue.js视图模型中,我有一个方法:

dataFieldClass: function () {
    // Here I need the element and get its ID
    // Pseudo code
    var elementId = $element.id;
}
Run Code Online (Sandbox Code Playgroud)

我知道可以从事件中获取元素(v-on:click),但这不是一个事件,它是一个简单的方法,根据视图模型的一些条件返回元素的CSS类.它也应该是可计算的,但问题是一样的.

vue.js

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

在PyQt中具有拖放支持的QTreeView

在PyQt 4中,我想创建一个QTreeView,可以通过拖放操作重新组织其结构.

我为QTreeView实现了自己的模型(QAbstractItemModel),因此我的QTreeView正确显示了数据.现在我想为树的节点添加拖放支持,以便能够将树内的节点从一个父节点移动到另一个节点,拖动复制等等,但是我找不到任何完整的教程如何实现这一点.我找到了很少的QTreeWidget教程和提示,但没有为自定义模型的QTreeView找到.有人能指出我在哪里看?

谢谢.

python drag-and-drop pyqt qtreeview

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

TypeScript 导入的常量未定义

在我的 Vue.ts(带有 TypeScript 的 Vue.js)中,我serverUrl在一个文件(http 声明)中定义了一个常量,我将它导入到另一个文件中,并带有 class AuthService。但是这个常量UNDEFINED在 的属性声明或构造函数中AuthService。在login()函数中没问题。有什么问题?这是我的文件。网址:

import axios, { AxiosError, AxiosRequestConfig } from 'axios';

export const serverUrl = 'http://localhost:63523';       // serverUrl Constant

export const http = axios.create({   timeout: 20000,   headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json'   } });
Run Code Online (Sandbox Code Playgroud)

和 AuthService:

import { http, serverUrl } from '@/services/http';

export class AuthService {

  private authUrl: string = serverUrl + '/' + 'auth/login';    // serverUrl = UNDEFINED

  constructor() {
    this.authUrl = `${serverUrl}/auth/login`; …
Run Code Online (Sandbox Code Playgroud)

typescript

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

PyQt5 - 无法加载平台插件"windows".可用的平台是:windows,minimal

当我尝试从Eclipse运行任何PyQt5程序时,我遇到了这个错误.

无法加载平台插件"windows".可用的平台是:windows,minimal

我从来没有遇到过PyQt4这个问题,但新版本.

我无法运行程序.从其他问题我知道它发生在Qt C++开发中,解决方案是将一些Qt DLL文件复制到可执行程序目录.

我是否也需要在Python开发(PyQt5)中也这样做?将这些文件添加到我的*.py文件所在的目录中?这不应该由PyQt5安装管理吗?

谢谢

python pyqt pyqt5

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

应用程序正在IIS进程中运行,但未配置为使用IIS服务器.NET Core 3.0

我已经将应用程序从.NET Core 2.2迁移到了3.0版。实际上,我从头开始在3.0中创建了新应用程序,然后复制了源代码文件。一切看起来都很不错,但是当我尝试在Visual Studio 2019中运行应用程序时,出现了异常:

应用程序正在IIS进程中运行,但未配置为使用IIS服务器

这是我的Program.cs

public static class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseContentRoot(Directory.GetCurrentDirectory());
                webBuilder.UseKestrel();
                webBuilder.UseIISIntegration();
                webBuilder.UseStartup<Startup>();
            });
}
Run Code Online (Sandbox Code Playgroud)

错误发生在以下行:CreateHostBuilder(args).Build()。Run(); 它在.NET Core 2.2中运行良好,但不想作为3.0运行。我找不到其他应做的事情。Startup.cs中有新内容吗?我不知道。

asp.net-core-3.0

7
推荐指数
5
解决办法
1772
查看次数

来自格式数组的 moment.js 日期验证

我需要测试输入的正确日期格式。我想接受多种日期格式,因此我创建了一个验证函数,用于测试至少一种格式是否正常,在这种情况下返回 true。我使用 moment.js 来测试日期。当我简单地使用硬编码字符串日期格式键入条件时,该函数可以正常工作:

var multiDateValidator = function (value)
{
    if ((moment(value, 'DD/MM/YYYY', true).isValid()) ||
        (moment(value, 'D/M/YYYY', true).isValid()) ||
        (moment(value, 'DD.MM.YYYY', true).isValid()) ||
        (moment(value, 'D.M.YYYY', true).isValid()) ||
        (moment(value, 'DD. MM. YYYY', true).isValid()) ||
        (moment(value, 'D. M. YYYY', true).isValid())) {
        return true;
    }

    return false;
};
Run Code Online (Sandbox Code Playgroud)

但是如果我想使用允许的日期格式列表,它不起作用,它永远不会返回 true。

var allowedDateFormats = ['DD/MM/YYYY', 'D/M/YYYY', 'DD.MM.YYYY', 'D.M.YYYY', 'DD. MM. YYYY', 'D. M. YYYY'];

var multiDateValidator = function (value)
{
    allowedDateFormats.forEach(function(dateFormat)
    {
        if (moment(value, dateFormat, true).isValid()) {
            return true;
        }
    });

    return false;
}; …
Run Code Online (Sandbox Code Playgroud)

javascript momentjs

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