小编Aze*_*eem的帖子

在 ckeditor5 下拉项上注册点击侦听器

我目前正在尝试为CKEditor 5编写一个插件来支持自动翻译。我能够在文档中找到如何编写插件以及如何创建下拉菜单。

但在文档中没有提及(或者我错过了)如何获知有关单击值的信息:

  • 打开下拉列表的按钮有一个执行处理程序,但如何注册一个监听器来单击其中一个值?
  • 我可以为我的项目分配一个id或类似的符号来识别下拉列表右侧元素的点击吗?

这是我根据文档构建的代码:

class Translation extends Plugin {
    init() {
        this.editor.ui.componentFactory.add('translate', (locale) => {
            const dropdownView = createDropdown(locale);
            dropdownView.buttonView.set({
                icon: languageIcon,
                label: 'Translate',
                tooltip: true,
            });

            const items = new Collection();
            items.add({
                id: 'en', // how to assign id ???
                type: 'button',
                model: new Model({
                    withText: true,
                    label: 'English'
                }),
            });
            items.add({
                id: 'es', // how to assign id ???
                type: 'button',
                model: new Model({
                    withText: true,
                    label: 'Spanish'
                }),
            });
            addListToDropdown(dropdownView, …
Run Code Online (Sandbox Code Playgroud)

ckeditor ckeditor5

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

如何向QJsonDocument添加多个QJsonObject

我想在QJsonDocument中添加多个QJsonObject.这可能吗?它应该如下所示:

[
    {
        "objID": "obj1"
        //... Some other parameter
    },
    {
        "objID": "obj2"
        //...Some other parameter
    }
]
Run Code Online (Sandbox Code Playgroud)

我试过这个:

QJsonDocument(obj1).toJson(QJsonDocument::Compact);
QJsonDocument(obj2).toJson(QJsonDocument::Compact);
Run Code Online (Sandbox Code Playgroud)

但它会产生无效的JSON.

qt json

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

在 C++ 中将整数写入 .txt 文件

我是 C++ 新手,想在.txt文件上写入数据(整数)。数据位于三列或更多列中,可以稍后读取以供进一步使用。我已经成功创建了一个阅读项目,但对于写作项目,文件已创建,但它是空白的。我尝试了来自多个站点的代码示例,但没有帮助。从代码中可以看出,我必须从三个不同的方程中写出结果。

#include<iostream>
#include<fstream>
using namespace std;

int main ()
{
    int i, x, y;
    ofstream myfile;
    myfile.open ("example1.txt");
    for (int j; j < 3; j++)
    {
        myfile << i ;
        myfile << " " << x;
        myfile << " " << y << endl;
        i++;
        x = x + 2;
        y = x + 1;
    }
    myfile.close();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

请指出错误或提出解决方案。

c++ fstream ofstream file-writing

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

带有rvalue deleter的unique_ptr构造函数返回null?

这是我用来理解以下行为的代码片段std::unique_ptr:

std::default_delete<int> d;
std::unique_ptr<int> u1;
std::unique_ptr<int> u2 (nullptr);
std::unique_ptr<int> u3 (new int);
std::unique_ptr<int> u4 (new int, d);
std::unique_ptr<int> u5 (new int, std::default_delete<int>());
std::unique_ptr<int> u6 (std::move(u5));
std::unique_ptr<int> u7 (std::move(u6));
std::unique_ptr<int> u8 (std::auto_ptr<int>(new int));

std::cout << "u1: " << (u1?"not null":"null") << '\n';
std::cout << "u2: " << (u2?"not null":"null") << '\n';
std::cout << "u3: " << (u3?"not null":"null") << '\n';
std::cout << "u4: " << (u4?"not null":"null") << '\n';
std::cout << "u5: " << (u5?"not null":"null") << '\n';
std::cout …
Run Code Online (Sandbox Code Playgroud)

c++ unique-ptr c++11

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

如何使用 std::invoke_result_t 获取函数的返回类型

我正在尝试实现一个风味的for_each(),当传入的函数返回时它将停止迭代false。如果传入的函数没有返回布尔值,则作为std::for_each().

我在获取函数参数的返回类型时遇到了一些困难,我尝试使用std::invoke_result_t,但它抱怨:

“std::__1::invoke_result<...”中没有名为“type”的成员

在C++ 参考示例中,它总是传入Arg函数的类型。但就我而言,类型不应该F已经包含整个函数的所有类型信息吗?

template<class C, class F>
void for_each(C container, F&& f)
{
    for (auto const& v : container)
    {
        if constexpr (std::is_same_v<std::invoke_result_t<F>, bool>)
        {
            if (not std::forward<F>(f)(v))
                break;
        }
        else
        {
            std::forward<F>(f)(v);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ c++17

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

为什么我需要在转换构造函数上引用this->?

我仍然在学习C++中的OOP基础知识,并且在使用转换构造函数创建运算符方法时出现了一个问题.

这是我的代码:

头文件:

class Integer {
private:
    int num;
public:
    Integer();
    Integer(int);//Convert constructor
    ~Integer();
    operator int();
    int getNum();
};
Run Code Online (Sandbox Code Playgroud)

源文件:

Integer::operator int() {
   return this->num; //No idea why I need to specify this-> here.
}
Run Code Online (Sandbox Code Playgroud)

main 方法:

Integer a(50); 
a = 100;       

int b = (int)a; 
cout << b << endl;
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,为什么我需要this->operator int()方法上使用?我没有传递任何冲突的参数,所以它不应该是编译器的问题.我也没有测试它,它工作正常.但在我的教科书中,我明确地说它应该添加this->num.

有任何想法吗?

c++ oop class this

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

为什么在分配用于存储程序中要使用的main参数的指针变量之前未分配空间?

我正在编写一个C程序,要求我接受命令行参数并在程序中使用它们。我不明白的是,为什么在代码中将字符串参数分配给char*变量,以便在程序中进一步使用,而在此之前没有分配内存。在使用指针之前,不必分配足够的内存来指向一个指针吗?

//c program

int main(int argc, char *argv[]){

    //lets say there is only one argument after the program name 
    // so that argc = 2 and argv = {filename, string1}

    //assigning the string to a char *
    //no memory allocated before assignment
    char *x = argv[1];

    // rest of the program ...
}
Run Code Online (Sandbox Code Playgroud)

c pointers memory-management argv command-line-arguments

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

如何理解这个规范文本?

我想通过阅读 Golang 规范来提高我对 Golang 的了解,但英语不是我的母语;而且,我不完全理解以下文字的含义:

源代码是采用 UTF-8 编码的 Unicode 文本。文本未规范化,因此单个重音代码点不同于由重音和字母组合而成的同一字符;这些被视为两个代码点。为简单起见,本文档将使用非限定术语字符来引用源文本中的 Unicode 代码点。

参考上面的文字,下面的部分是什么意思?

  1. 文本未规范化
  2. 单重音代码
  3. 引用源文本中的 Unicode 代码点的非限定术语字符

如果此类问题不适合本网站,请建议更合适的地方来提出此类问题。

go language-specifications

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

GitHub Actions: How to override the default matrix with workflow_dispatch inputs?

If I want to let a user override the default values in the matrix, how do I do that?

Consider the following simplified example:

name: CICD
on:
  push:
    branches:
      - main
  workflow_dispatch:
    inputs:
      py_version:
        description: "Python version"
        default: "3.11"

jobs:
  test:
    runs-on: ubuntu-22.04
    strategy:
      matrix:
        py_version: [3.7, 3.10]
    steps:
      - uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.py_version }}
Run Code Online (Sandbox Code Playgroud)

I want to let a user override the py_version matrix list with the list provided in the workflow_dispatch input. Is there a way? …

github-actions

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

将存储库环境变量传递给 Github 操作中的可重用工作流程

我在存储库中定义了一些环境变量DEV/QA/PROD,并设置了一组变量,即 a、b、c,我想将它们传递给可重新启动的工作流程。如何实现这一目标?

我已尝试如下,但在调用的工作流程中无法访问变量值。

根据 GitHub Actions 文档:

要在多个工作流中重用变量,请在组织、存储库或环境级别设置它们,并使用 vars 上下文引用它们。有关详细信息,请参阅“变量”和“上下文”。

但它似乎不起作用。

jobs:
  call-workflow-passing-data:
    uses: octo-org/example-repo/.github/workflows/reusable-workflow.yml@main
    with:
      config-path: .github/labeler.yml
      deploy-a: ${{ vars.a}}
      deploy-b: ${{ vars.b }}
    secrets:
      envPAT: ${{ secrets.envPAT }}
Run Code Online (Sandbox Code Playgroud)

在目标工作流程中,当我使用它时${{ inputs.deploy-a }},它没有给出任何价值。

任何帮助,将不胜感激。

github-actions

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