标签: selection

如何通过快捷方式在Kate中选择光标位置下的单词?

在编程过程中,我经常需要选择整个单词并将其删除。我通过双击鼠标来完成此操作,但我更喜欢通过键盘来完成此操作 - 这可能吗?

cursor cpu-word selection textselection kate

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

自定义 ag-grid 以设置最大可选行数

我正在尝试ag-grid在基于 Angular 1.5 的项目中使用自定义数据表。定制是允许用户选择表的最大行数,例如最大为2。

我使用在此处的node.setSelected(false)文档页面中找到的代码获得了以下代码,但出现错误:当选择超过最大值 2 时。node.setSelected is not a function

var gridOptions = {
    columnDefs: columnDefs,
    rowSelection: 'multiple',
    onRowSelected: onRowSelected
};


function onRowSelected(event) {
                var curSelectedNode = event.node;
                var selectionCounts = vm.gridOptions.api.getSelectedNodes().length;
                if (selectionCounts > 2) {
                    var oldestNode = vm.gridOptions.api.getSelectedNodes()[0]; // get the first node, to be popped out
                    oldestNode.setSelected(false); // causes the above 'not a function' error
                 }       
            }
Run Code Online (Sandbox Code Playgroud)

有谁知道 ag-grid 的setSelected()API 可能有什么问题吗?或者有更好的方法来进行此定制?

datatable row selection angularjs ag-grid

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

动态生成的 bash 菜单

我正在尝试生成一个动态菜单,然后选择要保存在变量中的选项。到目前为止我已经有了这个,但我被困住了。它总是默认为

“错误选择不在列表中,重新运行脚本。”

IFACES=$(nmcli -t -f SSID dev wifi list | grep i)
SELECTION=1
while read -r line; do
    echo "$SELECTION) $line"
    ((SELECTION++))
done <<< "$IFACES"
((SELECTION--))
echo
printf 'Select an interface from the above list: '
read -r OPT
if [[ `seq 1 $SELECTION` = $OPT ]]; then
    sed -n "${OPT}p" <<< "$IFACES" 
    IFACE=$(sed -n "${OPT}p" <<< "$IFACES") #set interface
else
    echo "ERROR Selection not in list, rerun the script."
    exit 0
fi
Run Code Online (Sandbox Code Playgroud)

bash menu dynamic selection

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

如何获取当前焦点窗口的选定文本?

因此,我正在尝试制作一个执行以下操作的应用程序:

  1. 监听键盘快捷键(使用此库
  2. 当按下快捷键时,检索当前选定文本的内容,并
  3. 处理文本

我已使用此答案的最新编辑共享的方法(此方法)将我的应用程序附加到焦点控件,但GetText该方法中的功能不能满足我的需要。

我也看过这个答案,但它只提供了如何通过双击获得聚焦窗口的详细步骤,这不是我需要的。它确实链接到这个问题,导致我尝试该WM_KEYDOWN方法(如下所示),但这也不起作用。

到目前为止,我已经尝试过这些GetText方法(全部在 MSDN 帖子的上下文中):

string GetText(IntPtr handle)
{
    // works in Notepad, but not Chrome
    SendMessageW(handle, WM_COPY, 0, 0);
    string w = Clipboard.GetText();
    return w;

    // works in every app, but in Notepad gets the complete contents
    // and in Chrome gets the window title
    int maxLength = 160;
    IntPtr buffer = Marshal.AllocHGlobal((maxLength + 1) * 2);
    SendMessageW(handle, WM_GETTEXT, maxLength, …
Run Code Online (Sandbox Code Playgroud)

c# focus selection

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

Vuetify - 当模型更改时,如何使 setSelectionRange(int, int) 在 v-textarea 中工作

我尝试使用该方法setSelectionRange来更改 vuetify 中光标的位置v-textarea

当我不操作v-model文本区域的属性引用的数据元素时,它效果很好。但是,如果我尝试先改变身体,然后再应用setSelectionRange方法;光标直接移动到文本末尾。

我附上了简化版本的片段。一旦您在文本区域中的任意位置按下退格键,光标就会移动到索引 2;但它会移动到文本的末尾。

然而,如果您再次删除this.body并退格,它就会平静地移动到索引 2。

new Vue({
  el: '#app',
  data: {
    body: ''
  },
  created () {
    this.body = 'I am initial body. Hit backspace on somewhere if you want!'
  },
  methods: {
    onBackspaceOrDeleteButtonKeydown (event) {
      // disable default behavior
      event.preventDefault()
      
      let bodyTextArea = this.$refs.pourBody.$el.querySelector('textarea')
      
      // COMMENT OUT THE NEXT LINE TO SEE THE CURSOR MOVES TO INDEX 2 ALWAYS
      this.body = 'I am changed …
Run Code Online (Sandbox Code Playgroud)

javascript textarea selection vue.js vuetify.js

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

Unity:为什么我无法自动选择输入字段?

我目前正在为 Android 开发 Highscore 系统。我有一个输入字段,玩家可以在其中输入他们的名字。

我想要它,这样玩家就不必点击这个输入字段来输入内容。 然而,到目前为止我所有的尝试都失败了。


我目前有一个名为HighScoreTemplate的预制件。该预制件有一个 UI 输入字段(用于名称)和 UI 文本对象(用于分数)。它还有一个名为HighScoreTemplate.cs的脚本。

我在HighScoreTemplate.cs脚本中创建了一个Select()函数,它将在输入字段上调用​​.Select() ,然后调用.ActivateInputField()

public void Select()
{
    // Select it
    NameField.Select();
    NameField.ActivateInputField();
}
Run Code Online (Sandbox Code Playgroud)

然而,这并没有自动选择 NameField 输入字段,因为我的 Android 设备上没有弹出键盘。

我已经通过调试验证了这个 Select() 函数正在被调用并运行。

我还验证了该输入字段是可交互的,当我选择它时,我可以在检查器中看到它选中的复选框。


然后我假设 Unity 可能有延迟,所以我尝试进行此测试以查看它是否有效:

int counter = 1;
while(counter <= 50 && !_newHighScoreTemplate.NameField.isFocused)
{
    _newHighScoreTemplate.Select();
    Debug.Log("Select Attempt #" + counter);
    counter++;
}
Run Code Online (Sandbox Code Playgroud)

这个测试给了我同样的结果,Android 键盘没有弹出并允许我在输入字段中输入文本。


有人可以阐明我做错了什么吗?为什么我的输入字段没有获得焦点,为什么 Android 中的键盘没有弹出,这样我就可以在字段中输入内容而无需先点击它?

c# android input selection unity-ui

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

如何完全禁用 qtableview 的选择(对于所有单元格)?

我希望我的表格不可选择,以便只能选择复选框或单选按钮,而不能选择单元格本身。我现在有:

在此输入图像描述

我怎样才能解决这个问题?

QTableWidget 的解决方案也可以提供帮助。

c++ qt selection qtableview qtablewidget

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

使用选择时 Altair 工具提示不起作用

我正在尝试使用类似于 Altair 多行工具提示示例中显示的垂直规则https://altair-viz.github.io/gallery/multiline_tooltip.html。我也想使用文本工具提示,因为我的数据集包含与每个点相关的文本注释。

这是示例代码,我在其中添加了一个带有虚拟文本的“注释”列,并且还将工具提示添加到了行组件中,但工具提示不起作用。

import altair as alt
import pandas as pd
import numpy as np

np.random.seed(42)
source = pd.DataFrame(np.cumsum(np.random.randn(100, 3), 0).round(2),
                    columns=['A', 'B', 'C'], index=pd.RangeIndex(100, name='x'))
source = source.reset_index().melt('x', var_name='category', value_name='y')
Run Code Online (Sandbox Code Playgroud)

我添加了这一行来创建评论栏:

source['comments']='comment'+source.category+source.x.apply(str)
Run Code Online (Sandbox Code Playgroud)
# Create a selection that chooses the nearest point & selects based on x-value
nearest = alt.selection(type='single', nearest=True, on='mouseover',
                        fields=['x'], empty='none')

# The basic line 
Run Code Online (Sandbox Code Playgroud)

我在这里添加了工具提示:

line = alt.Chart(source).mark_line(interpolate='basis').encode(
    x='x:Q',
    y='y:Q',
    color='category:N',tooltip='comments'
)
Run Code Online (Sandbox Code Playgroud)

其余代码:

# Transparent selectors across the chart. This is what tells …
Run Code Online (Sandbox Code Playgroud)

python tooltip selection altair

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

为什么选择fabricjs后top和left属性变成负值?

在fabricjs中,画布中的所有对象都有自己的顶部和左侧属性,但是当我进行选择(使用shift+单击或拖动)时,选择范围内所有对象的顶部和左侧值都会丢失其原始值。

有一个简单的代码片段解释了我的问题https://jsfiddle.net/kj7qy6a8/

我想知道或计算选择范围内所有对象的实际顶部和左侧,而不是相对值。

如果您想直接在这里尝试,我会将代码粘贴到此处。

const canvasElmt = document.getElementById('myCanvas');

const canvas = new fabric.Canvas(canvasElmt, {
  width: 500,
  height: 500
});

let text1 =  new fabric.Textbox('text1', { top: 20, left: 40 });
let text2 =  new fabric.Textbox('text2', { top: 100, left: 60 });
canvas.add(text1);
canvas.add(text2);

canvas.renderAll();

// button onclick
document.getElementById('btn').onclick = () => {
  const infoElmt = document.getElementById('info');
  infoElmt.textContent = '';

  canvas.getObjects().forEach(({text, top, left}) => {
    infoElmt.innerText += `${text} TOP: ${top} LEFT: ${left}\n`;
  });
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta …
Run Code Online (Sandbox Code Playgroud)

javascript canvas selection coordinates fabricjs

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

在javascript中找到两个DOM节点的第一个共同父节点的最佳方法是什么?

我的问题正是如此,但在上下文中我想检查选择对象,比较anchorNode和focusNode,如果它们不同,则找到第一个公共父元素.

var selected = window.getSelection();
var anchor = selection.anchorNode;
var focus = selection.focusNode;

if ( anchor != focus ) {
   // find common parent...
}
Run Code Online (Sandbox Code Playgroud)

javascript dom selection getselection

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