精华内容
下载资源
问答
  • QTextEdit文本编辑框的光标移动

    万次阅读 2017-05-12 17:33:11
    用Qt写一个串口调试工具,用一个QTextEdit作为接收显示。发现每次串口调试工具接收完一...通过调用如下语句,可以光标移动到文本末尾: ui->QTextEdit_rx->moveCursor(QTextCursor::End, QTextCursor::MoveAnchor);

    1.问题描述

    用Qt写一个串口调试工具,用一个QTextEdit作为接收显示区。发现每次串口调试工具接收完一帧数据后,QTextEdit的光标自动跳到文本开头的位置。这样,当接收到大量数据后,就要手动拉动滑块进行翻页,才能看到最新的数据。文本框赋值的方式为ui->QTextEdit->setText(),不是用的ui->QTextEdit->append()。实测发现,采用后者追加文本的方式,不存在这个问题。但是由于逻辑需要,必须要采用前一种方式,因此考虑手动设置光标位置,让光标每次都移动到文本末尾。


    2.解决办法

    调用QTextEdit类的成员函数“moveCursor”可以设置光标的位置。其函数原型如下:

    void QTextEdit::moveCursor ( QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor )

    其中,

    参数operation是指定光标的操作类型,可选的值有:Up,Down,Left,Right,End,EndOfLine等等,分别对应不同的动作,这个很好理解。我们这里是想让光标移动到文本编辑框的末尾,因此选择参数End。

    参数mode光从字面上的意思,可能不太容易知道它的作用。通过Qt自带的帮助文档,可以得到下面的信息:


    同时,还有这样一句描述“If the anchor() is kept where it is and the position() is moved, the text in between will be selected”。通过这些信息,可以推测出,选择参数KeepAnchor的话,在光标移动的同时,会选中被光标掠过的文本,类似于鼠标的拖动动作。通过试验,验证了这个推测。下图是选择参数KeepAnchor的效果:



    这里我们不想让文本被选中,所以选择了参数MoveAnchor。


    3.总结

    通过调用如下语句,可以将光标移动到文本末尾。其他类型的文本控件也是同理,不再赘述。

    ui->QTextEdit_rx->moveCursor(QTextCursor::End, QTextCursor::MoveAnchor);

    展开全文
  • 控制台界面控制(七):移动文本

    千次阅读 2012-09-30 21:56:52
    控制台使用一个函数把某个区域内的文本移动到另一个区域。 效果 在缓冲中输出4行字,分别在对应的行上。然后使用移动文本的函数把第三行后面的文本移第一行后面; #include "MyConsole.h" #...

    控制文本的移动,可以取代清屏再重绘操作。如果用来做文本编辑器的滚动条是很合适的,也许也可以用在俄罗斯方块上面。控制台使用一个函数把某个区域内的文本移动到另一个区域。

    效果

    在缓冲区中输出4行字,分别在对应的行上。然后使用移动文本的函数把第三行后面的文本移到第一行后面;

    #include "MyConsole.h"
    #include <stdio.h>
    
    int main()  
    {  
    	CMyConsole myConsole;  
    
    	printf("\n1111111111111111111\n");
    	printf("2222222222222222222\n");
    	printf("3333333333333333333\n");
    	printf("4444444444444444444\n");
    
    	system("pause");	// 暂停
    
    	SMALL_RECT rc = {0, 3, 30, 20};		// 要移动的区域
    	myConsole.MoveText(rc, 10, 1);		// 移动到坐标(10,1)
    	system("pause");  
    
    	return 0;  
    }  

        

    相关信息

    缓冲区的文本移动使用的函数是:ScrollConsoleScreenBuffer,文本中对它的解释如下:

    BOOL ScrollConsoleScreenBuffer(
    			HANDLE				hConsoleOutput,			// 句柄
    			CONST SMALL_RECT*	lpScrollRectangle,		// 要滚动或移动的区域
    			CONST SMALL_RECT*	lpClipRectangle,		// 裁剪区域
    			COORD				dwDestinationOrigin,	// 新的位置
    			CONST CHAR_INFO*	lpFill					// 填充字符
     );
    

    比较容易搞不明白的是第二个参数和第三个参数,它们都是 SMALL_RECT 指针类型。为了说明这个函数的使用方法,教程里还举了另一个函数为例:DeleteLine。它的功能是删除指定行,并将下面的文本上移,例如删除上面例子中的第二行,则1111的下一行变成了3333。

    void DeleteLine(int row)
    {
    	SMALL_RECT	rcScroll, rcClip;
    	COORD		crDest = {0, row - 1};
    	CHAR_INFO	chFill;
    
    	CONSOLE_SCREEN_BUFFER_INFO bInfo;
    	GetConsoleScreenBufferInfo( hOut, &bInfo );		// 获取控制台信息
    
    	rcScroll.Left = 0;
    	rcScroll.Top = row;
    	rcScroll.Right = bInfo.dwSize.X - 1;
    	rcScroll.Bottom = bInfo.dwSize.Y - 1;			// 设置要滚动的区域
    
    	rcClip = rcScroll;								// 设置裁剪区域
    
    	chFill.Attributes = bInfo.wAttributes;
    	chFill.Char.AsciiChar = ' ';					// 设置要填充的文本和属性
    
    	ScrollConsoleScreenBuffer(hOut, &rcScroll, &rcClip, crDest, &chFill);
    }

    上面的一段代码中,滚动区域从要删除的行开始到缓冲区的末尾,裁剪区域和滚动区域一样。然后把这一整块移动到要删除的行的前一行(上移),根据教程的说法,因为向上一行不包括在裁剪区域内,所以不会被更新,也就是消失了,从而达到删除行的目的。从这里可以了解到更多的信息,比如简单如第一参数(句柄),第四参数(目标坐标),第五参数(替换为空,属性为控制台现有属性)。即使这样,对于第二和第三参数的理解仍然不够透彻。接下来以上面的四行输出做两个实验:

    实验一:滚动区域大于裁剪区域

    滚动区域为第二行到末尾,裁剪区域为第二行和第三行;执行上移一行操作:


    第二、三行和第四行都上移了,第二行因为超出裁剪区被裁剪掉,原本的第四行没变。它在裁剪区域外。

    实验二:裁剪区域大于滚动区域

    滚动区域为第二行到第三行,裁剪区域为第二行到末尾;执行上移一行操作:


    第二、三行上移,第二行被裁剪,第三行由参数填充;

    ScrollConsoleScreenBuffer 结论


    1. 首先对滚动区域执行移动操作;
    2. 产生两个画面:移动前画面;移动后画面;
    3. 裁剪区域绘制的是移动后画面;
    4. 裁剪区域绘制的是移动前画面;

    文本移动函数

    // ---- 移动文本
    void CMyConsole::MoveText(SMALL_RECT rc, int x, int y)
    {
    	COORD		crDest =  {x, y};
    	CHAR_INFO	chFill;
    
    	chFill.Attributes = bInfo.wAttributes;
    	chFill.Char.AsciiChar = ' ';
    
    	// -- 滚动和移动文本
    	// @param	HANDLE				[in] 句柄
    	// @param	CONST SMALL_RECT *	[in] 要滚动或移动的区域
    	// @param	CONST SMALL_RECT *	[in] 裁剪区域,NULL时为默认整个缓冲区
    	// @param	COORD				[in] 新的位置
    	// @param	CONST CHAR_INFO		[in] 填充字符
    	ScrollConsoleScreenBuffer(hOut, &rc, NULL, crDest, &chFill);
    }

    展开全文
  • 单行文本的输入存在严重的缺陷,也不适合实际的运用... JTextArea() :创建一个内容为空的文本区 JTextArea(Document doc) :创建具有指定文档的文本区 JTextArea(Document doc,String text,int rows,int columns) :

        单行文本的输入存在严重的缺陷,也不适合实际的运用,本节通过一个无功能的记事本来介绍可以进行多行输入的JTextAre

    JTextArea

     JTextArea()    :创建一个内容为空的文本区

    JTextArea(Document doc)  :创建具有指定文档的文本区

    JTextArea(Document doc,String text,int rows,int columns) :创建具有指定文档,行数,列数的文本区

    JTextArea(int rows,int columns)   :指定行数,列数的文本区

    JTextArea(String text)  :指定文本内容的文本区

    JTextArea(String text,int rows,int columns)   :指定文本内容和行数,列数的文本区

    JTextArea 的一些常用方法:

    public void append(String str) :将给定文本追加到文档结尾。 
    boolean getLineWrap() :获取文本区的换行策略。 
    public int getRows() :返回 TextArea 中的行数。 
    public boolean getWrapStyleWord() :获取换行方式(如果文本区要换行)。 
    public void setWrapStyleWord(boolean word) :设置换行方式(如果文本区要换行)
    public void insert(String str, int pos) :将指定文本插入指定位置。  
    public void setColumns(int columns) :设置此 TextArea 中的列数。
    public void setFont(Font f) :设置当前字体。 
    public void setLineWrap(boolean wrap) :设置文本区的换行策略。 
    public void setRows(int rows) :设置此 TextArea 的行数。 
    public void setEditable(boolean b):设置文本区的编辑状态。参数为true表示可编辑状态,为false则表示不可编辑状态
    
    
    JScrollPane
    JscrollPane() :创建一个滚动条,水平和垂直都可以显示
    JscrollPane(Component view) : 创建一个显示指定组件内容的滚动条,当组件的内容超过视图大小就会显示水平和垂直的的滚动条
    JscrollPane(Component view,int vsbPolicy,int hsbPolicy)  :创建一个显示指定组件内容的滚动条,且有指定滚动策略的滚动条
    JscrollPane(int vsbPolicy,int hsbPolicy)  :创建一个有指定滚动策略的滚动条
    JscrollPane类的构造方法中使用的滚动条策略主要有6种:
        
    常量                                                                                                         常量含义
    HORIZONTAL_SCROLLBAR_AS_NEEDED                                 当需要时显示水平滚动条 HORIZONTAL_SCROLLBAR_ALWAYS                                          一直显示水平滚动条 HORIZONTAL_SCROLLBAR_NEVER                                           一直不显示水平滚动条 VERTICAL_SCROLLBAR_AS_NEEDED                                      当需要时显示垂直滚动条 VERTICAL_SCROLLBAR_ALWAYS                                               一直显示垂直滚动条 VERTICAL_SCROLLBAR_NEVER                                                一直不显示垂直滚动条
    VERTICAL






    public int getHorizontalScrollBarPolicy  ():  获取水平滚动策略值

    public int getVerticalScrollBarPolicy()  :获取垂直滚动策略值

    public void getHorizontalScrollBarPolicy  ():  设置水平滚动策略值

    public void getVerticalScrollBarPolicy()  :设置垂直滚动策略值

    public boolean isWheelScrollingEnabled()  : 设置是否进行滚动以响应鼠标滚轮

    public void setViewportView(Conponent view) :设置滚动条中的滚动组件

    public void setWheelScrollingEnabled(boolean handleWheel):启动/禁用对鼠标滚轮滚动的移动响应

    代码实例:

    package ch10;
    
    import java.awt.event.*;
    
    import javax.swing.*;
    
    public class NoteTextArea extends JFrame implements ActionListener
    {
        private JPanel jp = new JPanel ();
        JButton jb1 = new JButton("点我自动换行");
        JButton jb2 = new JButton("点我不换行");
        private JTextArea jt = new JTextArea();
        private JScrollPane js = new JScrollPane(jt);
        public NoteTextArea()
        {
        	jp.setLayout(null);
        	jb1.setBounds(40,40,180,20);
        	jb2.setBounds(280,40,180,20);
        	jp.add(jb1);
        	jp.add(jb2);
        	jb1.addActionListener(this);
        	jb2.addActionListener(this);
        	js.setBounds(40,80,420,100);
        	jp.add(js);
        	jt.setLineWrap(false);
        	for(int i=0;i<30;i++)
        	{
        		jt.append("自动换行,不换行!");
        	}
        	this.add(jp);
        	this.setBounds(80,80,300,300);
        	this.setVisible(true);
        	this.setTitle("记事本多行文本区");
        	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        public void actionPerformed(ActionEvent a)
        {
        	if(a.getSource()==jb1)
        	{
        		jt.setLineWrap(true);
        	}
        	else if(a.getSource()==jb2)
        	{
        		jt.setLineWrap(false);
        	}
        }
        public static void main(String args[])
        {
        	new NoteTextArea();
        }
    }
    


    展开全文
  • 00. 目录 文章目录00. 目录01. CHAR_INFO结构02. ScrollConsoleScreenBuffer函数03....控制台功能使用此结构来读取和写入控制台屏幕缓冲。 类型声明 typedef struct _CHAR_INFO { union { WCHAR Un...

    00. 目录

    01. CHAR_INFO结构

    指定Unicode或ANSI字符及其属性。控制台功能使用此结构来读取和写入控制台屏幕缓冲区。

    类型声明

    typedef struct _CHAR_INFO {
      union {
        WCHAR UnicodeChar;
        CHAR  AsciiChar;
      } Char;
      WORD  Attributes;
    } CHAR_INFO, *PCHAR_INFO;
    

    UnicodeChar
    屏幕缓冲区字符单元格的Unicode字符。

    AsciiChar
    屏幕缓冲区字符单元格的ANSI字符。

    Attributes

    字符属性。该成员可以是零或以下值的任意组合。

    含义
    FOREGROUND_BLUE 0x0001文字颜色包含蓝色。
    FOREGROUND_GREEN 0x0002文字颜色包含绿色。
    FOREGROUND_RED 0x0004文字颜色包含红色。
    FOREGROUND_INTENSITY 0x0008文字颜色加强。
    BACKGROUND_BLUE 0x0010背景颜色包含蓝色。
    BACKGROUND_GREEN 0x0020背景颜色包含绿色。
    BACKGROUND_RED 0x0040背景颜色包含红色。
    BACKGROUND_INTENSITY 0x0080背景颜色加剧。
    COMMON_LVB_LEADING_BYTE 0x0100前导字节。
    COMMON_LVB_TRAILING_BYTE 0x0200尾随字节。
    COMMON_LVB_GRID_HORIZONTAL 0x0400顶部水平
    COMMON_LVB_GRID_LVERTICAL 0x0800左垂直。
    COMMON_LVB_GRID_RVERTICAL 0x1000正确的垂直。
    COMMON_LVB_REVERSE_VIDEO 0x4000反转前景和背景属性。
    COMMON_LVB_UNDERSCORE 0x8000下划线。

    02. ScrollConsoleScreenBuffer函数

    在屏幕缓冲区中移动数据块。通过指定剪切矩形可以限制移动的效果,因此剪切矩形外部的控制台屏幕缓冲区的内容不会改变。

    函数声明:

    BOOL WINAPI ScrollConsoleScreenBuffer(
      _In_           HANDLE     hConsoleOutput,
      _In_     const SMALL_RECT *lpScrollRectangle,
      _In_opt_ const SMALL_RECT *lpClipRectangle,
      _In_           COORD      dwDestinationOrigin,
      _In_     const CHAR_INFO  *lpFill
    );
    
    功能:
    	在屏幕缓冲区中移动数据块
    	
    参数:
        hConsoleOutput 控制台屏幕缓冲区的句柄。句柄必须具有GENERIC_READ访问权限。
        lpScrollRectangle 指定要移动的控制台屏幕缓冲区矩形的左上角和右下角坐标。
        lpClipRectangle 指定受滚动影响的控制台屏幕缓冲区矩形的左上角和右下角坐标。该指针可以为NULL。
        dwDestinationOrigin 它以字符为单位指定lpScrollRectangle内容新位置的左上角。
        lpFill 指向CHAR_INFO结构的指针,该结构指定在填充lpScrollRectangle和lpClipRectangle交集中的单元格时使用的字符和颜色属性,这些属性由于移动而保留为空。
    
    返回值:
    	如果函数成功,则返回值为非零值。
    	如果函数失败,则返回值为零。要获取扩展错误信息,请调用GetLastError。
    
    

    官方参考手册: https://docs.microsoft.com/en-us/windows/console/char-info-str

    03. 程序示例

    参考代码:

    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    
    #include <Windows.h>
    #include <conio.h>
    
    
    int main()
    {
    	//定义句柄变量
    	HANDLE hOut = NULL;
    
    	//定义窗口信息变量
    	CONSOLE_SCREEN_BUFFER_INFO screenInfo;
    
    	//定义移动区域
    	SMALL_RECT scroll;
    
    	//移动位置
    	COORD pos = {8, 8};
    
    	//定义填充字符
    	CHAR_INFO chFill;
    
    
    	//获取标准输出句柄
    	hOut = GetStdHandle(STD_OUTPUT_HANDLE);
    
    	//获取窗口信息
    	GetConsoleScreenBufferInfo(hOut, &screenInfo);
    
    	chFill.Char.AsciiChar = ' ';
    	chFill.Attributes = screenInfo.wAttributes;
    
    	//输出字符串
    	printf("AAAAAAAAAAAAAAAAAAAAAAAAA\n");
    	printf("BBBBBBBBBBBBBBBBBBBBBBBBB\n");
    	printf("CCCCCCCCCCCCCCCCCCCCCCCCC\n");
    	printf("DDDDDDDDDDDDDDDDDDDDDDDDD\n");
    
    	//设置移动的区域
    	scroll.Left = 2;
    	scroll.Top = 2;
    	scroll.Right = 20;
    	scroll.Bottom = 4;
    
    	//设置文本移动
    	ScrollConsoleScreenBuffer(hOut, &scroll, NULL, pos, &chFill);
    
    	getchar();
    
    	//关闭句柄
    	CloseHandle(hOut);
    
    	system("pause");
    	return 0;
    }
    

    执行结果

    在这里插入图片描述

    参考网址: https://blog.csdn.net/JZQT_T/article/details/30602349

    04. 官方参考程序

    #include <windows.h>
    #include <stdio.h>
    
    int main(void)
    {
    	HANDLE hStdout;
    	CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
    	SMALL_RECT srctScrollRect, srctClipRect;
    	CHAR_INFO chiFill;
    	COORD coordDest;
    	int i;
    
    	printf("\nPrinting 20 lines for reference. ");
    	printf("Notice that line 6 is discarded during scrolling.\n");
    	for (i = 0; i <= 20; i++)
    		printf("%d\n", i);
    
    	hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    
    	if (hStdout == INVALID_HANDLE_VALUE)
    	{
    		printf("GetStdHandle failed with %d\n", GetLastError());
    		return 1;
    	}
    
    	// Get the screen buffer size. 
    
    	if (!GetConsoleScreenBufferInfo(hStdout, &csbiInfo))
    	{
    		printf("GetConsoleScreenBufferInfo failed %d\n", GetLastError());
    		return 1;
    	}
    
    	// The scrolling rectangle is the bottom 15 rows of the 
    	// screen buffer. 
    
    	srctScrollRect.Top = csbiInfo.dwSize.Y - 16;
    	srctScrollRect.Bottom = csbiInfo.dwSize.Y - 1;
    	srctScrollRect.Left = 0;
    	srctScrollRect.Right = csbiInfo.dwSize.X - 1;
    
    	// The destination for the scroll rectangle is one row up. 
    
    	coordDest.X = 0;
    	coordDest.Y = csbiInfo.dwSize.Y - 17;
    
    	// The clipping rectangle is the same as the scrolling rectangle. 
    	// The destination row is left unchanged. 
    
    	srctClipRect = srctScrollRect;
    
    	// Fill the bottom row with green blanks. 
    
    	chiFill.Attributes = BACKGROUND_GREEN | FOREGROUND_RED;
    	chiFill.Char.AsciiChar = (char)' ';
    
    	// Scroll up one line. 
    
    	if (!ScrollConsoleScreenBuffer(
    		hStdout,         // screen buffer handle 
    		&srctScrollRect, // scrolling rectangle 
    		&srctClipRect,   // clipping rectangle 
    		coordDest,       // top left destination cell 
    		&chiFill))       // fill character and color
    	{
    		printf("ScrollConsoleScreenBuffer failed %d\n", GetLastError());
    		return 1;
    	}
    
    	getchar();
    
    	system("pause");
    	return 0;
    }
    
    展开全文
  • 下面我们介绍一个控制文本移动的函数,如下: BOOL ScrollConsoleScreenBuffer( //文本移动函数 HANDLE hConsoleOutput, //句柄 const SMALL_RECT *lpScrollRectangle, //移动区域 const SMALL_RECT *...
  • vim 文本编辑器

    万次阅读 多人点赞 2019-03-23 11:57:12
    4.2 vim文本编辑器 4.2.1 简介 vim是vi的升级版,最常见的区别是能用多种颜色显示...命令模式(编辑模式):默认模式,移动光标,剪切/粘贴文本(界面表现:左下角显示文件名或为空) 插入模式(输入模式):修...
  • 编辑和删除文本目前为止,我们介绍了一些用于在文件中移动和选择区域的方法...这些操作包括整行移动文本,整行复制,以及改变大小写。ctrl-T交换光标两边字符的位置cmd-J下一行拼接当前行的末尾ctrl-cmd-up, ctr
  • linux文本编辑器

    万次阅读 多人点赞 2018-04-25 19:18:04
    文本编辑器 vi vim是vi增强版 vim需要安装 sudo apt-get -y install vim vim的三种工作模式 1 编辑模式 命令模式=&gt;编辑模式iaos 按键 作用 i 在光标当前位置插入文本 a 光标的下一...
  • Delphi读写文本文件

    千次阅读 2011-01-09 22:47:00
    Delphi读写文本文件
  • //1.bug1 : 如果最后一个单词后面直接跟\0.无法获取. //2.bug2 : 第一个单词前面出现空格,或者多个空格 //3.bug3 : 单词与单词之间出现多个...如何存储文本? char str[] = " a41 a1421 b3511 b b c c c c dddddd jkt
  • Linux下的文本编辑器vi

    千次阅读 2019-10-24 19:46:31
    在终端中打开输入vi[文件],启动vi。 vi有三种工作模式:命令模式、文本编辑模式、...在文本编辑模式下可输入文本内容,用上、下、左、右方向键移动光标,使用【Del】键和【Backspace】键删除字符,按【Esc】键回到...
  • 对话框更换客户背景以及设置客户区文本显示: 第一步:类向导-->消息-->CTLCOLOR-->添加处理程序-->编辑代码。 第二步:zai OnCtlColor函数中写, HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); ...
  • 移动深度学习:人工智能的深水

    千次阅读 2019-10-16 14:30:47
    随着5G商用大规模落地,以及智能手机硬件性能越来越强、AIoT设备的快速普及,基于云-边缘-端算法和算力结构的移动端人工智能,仍有非常大的发展空间,亟待我们快速理解移动端深度学习的原理,掌握如何其应用实际...
  • 若该文为原创文章,未经允许不得转载 原博主博客地址:...本文章博客地址: 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 目录 前话 富文本处理 概述 富文本文档结构 ...
  • 关于文本编辑器Vim的使用

    千次阅读 2009-09-12 02:14:00
    进入后按i进入编辑界面。 退出:按Esc进入命令模式,按ZZ(大写,两个)即可存盘退出。另外,按" :q ”退出vim,按" :q! "强制退出、按" :w " 保存文档、按" :w!...打开保存过的文本:vim filename 
  • 1.edit介绍 edit是DOS系统自带的文本编辑器。 2.edit启动 仅仅启动edit 在命令行中直接输入edit启动edit文本编辑器: 启动后edit文本编辑器界面如下: 使用edit打开文件 在命令行中输入edit+要...Home:移动到行...
  • 文本分类——常见分类模型

    万次阅读 多人点赞 2018-11-06 17:37:56
      文本分类方法模型主要分为两个大类,一类是基于规则的分类模型;另一类是基于概率统计的模型。 基于规则的模型   基于规则的分类模型相对简单,易于实现。它在特定领域的分类往往能够取得较好的效果。相对于...
  • vim 文本编辑命令

    千次阅读 2014-02-14 11:06:37
    标签使用 # ctags - R 递归生成tags... Ctrl + ] 跳转匹配tags。如选中一个函数,则跳转选中函数的定义 Ctrl + o 切换上个跳转点 Ctrl + i 切换下个跳转点 # grep -nr “string” dir 命令行辅助搜索字符串
  • 复制文本: QClipboard *clip=QApplication::clipboard(); clip->setText("hello qt"); //复制hello qt 剪贴板 复制图片: void MainWindow::on_pushButton_clicked() { //复制图像,可粘贴画图中 ...
  • Linux 下最常用的文本编辑器,也是各版本 Linux 默认自带的标配 vi 除了文本编辑,还可以给字符着色、自动补全,但是不像 Windows 下的 word 有排版功能。 可以用来编辑现有的文件,也可以创建一个新文件,还能以...
  • 最佳文本编辑器

    万次阅读 2007-03-02 11:46:00
    原文:donationcoder.com  译者:xbeta@善用佳软 说明:仅做翻译...不代表同意文中观点(xbeta认为最好的编辑器为VIM)。 最佳文本编辑器 当前,好用的文本编辑器比比皆是——无论商业软件还是免费软件。如果你用得
  • js基础-富文本编辑器

    千次阅读 2017-09-21 10:30:27
    文本编辑器1、富文本编辑器简介富文本编辑(WYSIWYG(What You See Is What You GET,所见即所得))。最先的富文本编辑,就是在页面中嵌入一个包含空HTML页面的iframe,然后通过设置designMode属性,这个空白的...
  • 工作笔记四——vueJS在移动端使用富文本编辑器

    万次阅读 热门讨论 2018-01-25 14:11:26
    本文主要介绍vue移动端使用富文本编辑器的使用及常见问题处理。参考组件vue-html5-editor。 本例主要基于vue-cli脚手架创建。更多vue相关应用请参考:https://github.com/JerryYuanJ/a-vue-app-template 1.项目...
  • linux之文本编辑器

    万次阅读 2012-03-02 18:14:08
    管理员在进行系统操作的时候,不可避免地会对文本进行修改,如进行各种服务程序配置文件的改动,使程序对用户提供不同的服务效果。在本章我们向大家介绍Linux上常见的编辑器ed、vi、emacs,同时以vi为例,讲解Linux...
  • 文本编辑的利器execCommand

    千次阅读 2013-11-26 13:59:44
    文本编辑中一个非常关键的document属性execCommand(command,boole,val);这个属性可以得到并且编辑我们当前选则文档节点内容。 我们上一节讲过createRange以及createTextRange,都是针对文档去创建并保存一个range...
  • 2) 在文本编辑接受并保存输入信息; 3) 光标上移,下移,左移,右移; 4) 允许删除当前光标后的字符; 5) 编辑文本存盘,读出并显示硬盘中的指定文件。(任选) 在完成设计任务后,按要求撰写课程设计说明...
  • 轻松文本easypad2001

    2006-03-16 00:00:00
    目前国内最好用文本编辑及阅读类软件,微软记事本的最佳替代品,功能超强,...★具有顶层显示功能,支持滚轮鼠标和鼠标拖放打开文件、复制移动文本图形,可任意调整编辑前背景颜色等,功能多多,你可不要错过机会噢!
  • vim文本编辑器的使用

    千次阅读 2011-04-18 13:55:00
     下面我和大家分享一下我今天学的关于vim的一些操作,希望对大家有帮助!  首先vim处理的对象都是ASCII编码的文件,在前面说过linux的一个重要的特征是一切皆文件(主要是文本文件),所以通过vim...
  • 使用Vim创建和编辑文本文件

    万次阅读 多人点赞 2018-03-28 15:53:41
    一、什么是vim? Linux的一个重要设计原则就是信息存储在基于文本的文件中,因此使用文本编辑器来编辑...文本文件的优点是它们可以在系统之间移动或者共享,无需转换,而且可以通过任何简单文本编辑器进行查看和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 118,492
精华内容 47,396
关键字:

怎么将文本移动到文本区