标签: cursor

PySimpleGUI:设置和获取多行小部件中的光标位置?

有没有办法在 PySimpleGUI 的多行小部件中获取光标的位置,存储它并将光标再次放回该小部件文本中的定义位置?

下面你可以看到我到目前为止编写的代码。我的目标是,当在上部窗口中键入“jk”时,光标会向下移动到输入行(有效)。用户可以在那里编写命令并完成输入(我还没有完成)。

现在的问题是如何让上方窗口中的光标跳回原来的位置?!

import PySimpleGUI as sg

layout = [  [sg.Multiline(key = 'editor',
                          size = (50, 10), 
                          focus = True, 
                          enable_events = True)],
            [sg.InputText(key ='command', size = (45, 1), ),], ]

window = sg.Window('editor', layout)

while True:
    event, values = window.read()

    if 'jk' in values['editor']:
        # delete jk and jump down in the command line #
        window['editor'].update(values['editor'].replace('jk', ''))
        window.Element('command').SetFocus(force = True)
        
    if event in ('Close Window', None): 
        break
    
window.close()
Run Code Online (Sandbox Code Playgroud)

任何帮助都是值得赞赏的,因为没有关于在 PySimpleGui 中设置或获取光标位置的文档。提前致谢!

python position cursor textfield pysimplegui

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

在期待以下之一时遇到符号"IS"

我一直在尝试运行这个脚本,但我得到的只是这个错误:

Error report:
ORA-06550: line 3, column 15:

PLS-00103: Encountered the symbol "IS" when expecting one of the following:

constant exception <an identifier>
<a double-quoted delimited-identifier> table long double ref
char time timestamp interval date binary national character
nchar
The symbol "IS" was ignored.
Run Code Online (Sandbox Code Playgroud)

这是我的脚本:

set serveroutput on

   DECLARE
   cursor depts_cur is select dname from dept;
   depts_cur_rec is depts_cur%type; 

   BEGIN
   loop
     fetch depts_cur into depts_cur_rec;
     exit when depts_cur_rec%notfound;
     dbms_output.put_line('Department: ' || depts_cur_rec);
   end loop;
   close depts_cur;
   END;
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助.

oracle plsql cursor

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

nullpointerexception,我不知道为什么

我收到以下错误:

06-09 06:56:24.675: E/AndroidRuntime(1629): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gauvion.simpleworkouttracker/com.myapp.MainActivity}: java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)

Logcat说它的原因是:

06-09 06:56:24.675: E/AndroidRuntime(1629): Caused by: java.lang.NullPointerException
06-09 06:56:24.675: E/AndroidRuntime(1629):     at com.myapp.MainActivity.onCreate(MainActivity.java:26)
Run Code Online (Sandbox Code Playgroud)

以下是MainActivity的代码:

package com.myapp;

import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.widget.SimpleCursorAdapter;
import android.view.Menu;
import android.widget.Toast;

public class MainActivity extends ListActivity {
    private DayDataSource datasource;
    private SimpleCursorAdapter dataAdapter;
    private Cursor cursor;
    private boolean isEditing = false;
    private Toast toast_deleted;
    private String[] columns = new String[] { MySQLiteHelper.COLUMN_NAME, MySQLiteHelper.COLUMN_DAY };
    private int[] to;

    @SuppressWarnings("deprecation")
    @Override
    protected void onCreate(Bundle savedInstanceState) …
Run Code Online (Sandbox Code Playgroud)

android cursor nullpointerexception

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

如何使光标更快

我已将此光标写入佣金报告.会发生什么是佣金来自一个表,记录是另一个表.我根据某些标准匹配两个(没有完全匹配).问题是存在记录的重复.当我将佣金与records表格匹配时,可能会导致重复这些重复.因此,代表获得更多报酬.另一方面,佣金表中也有重复,但这些都是有效的,因为它们简单意味着账户已经支付了2个月.

我写了这个查询,但需要5分钟才能运行.我在记录表中有50,000条记录,在佣金表中有100,000条记录.有什么方法可以改进这个游标吗?

/* just preparation of cursor, this is not time consuming */
CREATE TABLE #result
  (
     repid         INT,
     AccountNo     VARCHAR(100),
     supplier      VARCHAR(15),
     CompanyName   VARCHAR(200),
     StartDate     DATETIME,
     EndDate       DATETIME,
     Product       VARCHAR(25),
     commodity     VARCHAR(25),
     ContractEnd   DATETIME,
     EstUsage      INT,
     EnrollStatus  VARCHAR(10),
     EnrollDate    DATETIME,
     ActualEndDate DATETIME,
     MeterStart    DATETIME,
     MeterEnd      DATETIME,
     ActualUsage   INT
  )

DECLARE @AccountNo VARCHAR(100)
DECLARE @supplier VARCHAR(10)
DECLARE @commodity VARCHAR(15)
DECLARE @meterstart DATETIME
DECLARE @meterEnd DATETIME
DECLARE @volume FLOAT
DECLARE @RepID INT
DECLARE @Month INT
DECLARE @Year INT

SET …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server-2005 cursor duplicate-removal

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

while(!cursor.isafterlast()) 是什么意思

你好,我正在使用 SQLite 制作应用程序,我正在学习读取数据的函数,我遇到了这个:

while(!cursor.isAfterLast()){}
Run Code Online (Sandbox Code Playgroud)

这是什么意思?它返回什么?

android cursor

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

如何从使用多列定义的游标中读取单个列

我有一个光标:

DECLARE db_inner_cursor_info CURSOR FOR Select Col1 , Col2 ..... from TBL1

OPEN db_inner_cursor_info
    FETCH NEXT FROM db_inner_cursor_info
    INTO @Col1
    print @Col1
etc.
Run Code Online (Sandbox Code Playgroud)

我只需要来自的值TBL1.Col1,但是我无法从SELECT游标声明中的语句中删除其余的列.

我怎样才能做到这一点?

sql t-sql sql-server cursor

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

如何在SELECT语句中对函数产生影响时替换CURSOR

请考虑以下代码:

Declare @MyMinMaxTable Table
(
    [Min]    int,
    [Max]    int,
    [Desc]   NVARCHAR(50)
)

Insert into @MyMinMaxTable
values (0,12,N'Child'),
       (13,19,N'Teenager'),
       (20,25,N'Youth'),
       (25,40,N'Middle-aged'),
       (40,99,N'Old')

Declare @MyTable Table
(
    Id         int identity(1,1),
    [Year]     int,
    Age        int,
    MyCol2     int,
    MyCol3     int null
)

Insert into @MyTable
([Year], Age, MyCol2, MyCol3)
values 
(2012, 10, 1 , 1),
(2012, 28, 2 , 3),
(2012, 14, 1 , 7),
(2012, 24, 3 , 3),
(2012, 80, 1 , 6),
(2012, 39, 1 , 3),
(2012, 45, 1 , …
Run Code Online (Sandbox Code Playgroud)

sql sql-server cursor sql-server-2014

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