标签: ncurses

使用Python编辑文本并诅咒Textbox小部件?

有没有人有一个使用curses.textpad.Textbox小部件编辑现有文本的工作示例?当然,这是在Linux终端(例如xterm)中.

python ncurses

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

如何让ncurses在C中正确显示UTF-8字符?

我有一个使用ncurses用C编写的程序.它让用户输入并显示它.如果用户输入utf8字符,则无法正确显示.

我将chars用户保存到文件中.而我cat这个文件直接在Shell中,它显示正确.

我搜索了stackoverflow和谷歌,并尝试了几种方法,如与ncursesw链接,显示不正确.

ldd /usr/bin/screen:libncurses.so.5 => /usr/lib64/libncurses.so.5

screen 可以正确显示用户输入的内容.

如何让ncurses正确显示UTF-8字符?

使用ncurses在C中显示UTF-8字符的一般方法是什么?

c linux screen ncurses

7
推荐指数
1
解决办法
4958
查看次数

支持颜色的"更多"命令替代方案?

这是我在Linux中排名前十的烦人之物.我喜欢终端的彩色输出:阅读时看起来很有用,也很有用.

我在新系统上做的第一件事是为两者设置别名lsgrep显示彩色输出,第二件是安装vimhtop.

我同时使用Gentoo和Ubuntu,我看到,emergeGentoo的包管理器具有更高的可读性,而apt-get/aptitude不仅仅因为它使用了比后者更多的颜色输出.

因此,每当我必须使用emerge命令时more,所有颜色都会丢失,我必须将注意力集中在每一行上以避免遗漏任何重要的内容.

我可以理解,一个基本的命令,如more不应该依赖ncurses(有人可能会说我们也有less,所以这两个中的一个甚至可以是颜色友好的),但为什么没有一个着名的替代品more支持颜色,因为有对vi/vim,top/htop等等?

谢谢你的任何提示.

linux shell command-line colors ncurses

7
推荐指数
1
解决办法
8657
查看次数

为什么这些文字没有被ncurses着色?

我想在ncurses中创建一个窗口,用一个框包围它,并在其中写入一些彩色文本.

当我尝试在标准窗口中制作简单的彩色文本时,它可以很好地工作,但是当我尝试将它放在一个新窗口时,文本在黑色上显示为白色(即默认值)

这是我尝试过的代码.为什么它不起作用?

#include <ncurses.h>

int main(int argc, char *argv[])
{
    initscreen();
    WINDOW * win = newwin(8,15,1,1);
    box(win,0,0);
    start_color();
    init_pair(1, COLOR_BLACK, COLOR_RED);
    attron(COLOR_PAIR(1));
    mvwprintw(win,1,1,"colored text");
    wrefresh(win);
    getch();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ colors ncurses

7
推荐指数
1
解决办法
4103
查看次数

使用ncurses调整终端和滚动问题的大小

我使用ncurses库在C编程(这是第一次),我有两个问题.我在ubuntu上使用默认终端(gnome终端).

1)我需要调整终端的大小.我使用了resizeter()和resize_term(),但是它们都失败了.

2)我使用scrollok()函数,问题是我丢失了滚动的行(当我回到wscrl()时,有空白行).

#include <ncurses.h>

int main() {

WINDOW *win, *win2;

int i;
char c;

initscr();
cbreak();
noecho();

win=newwin(8,20,1,1);
box(win,0,0);
win2=newwin(6,18,2,2);
scrollok(win2,1);
wrefresh(win);
wrefresh(win);

for(i=0;i<15;i++){
    c=wgetch(win2);
    if(c=='u'){
        wscrl(win2,-1);
        wrefresh(win2);
    }
    else{
        wprintw(win2,"%c\n",c);
        wrefresh(win2);
    }
}

delwin(win);
delwin(win2);
endwin();

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

c linux ncurses

6
推荐指数
2
解决办法
9977
查看次数

ncurses基本示例 - 在调试中得到:"打开终端时出错:未知."

在ncurses libreries上做一些基本的例子,我遇到了一些问题.

实际上,我没有得到我所期望的(消息打印),并且从eclipse进入调试,我得到(在控制台区域)"错误打开终端:未知."

遵循代码:

#include <unistd.h>
#include <stdlib.h>
#include <ncurses.h>


int main() {

    initscr();

    move(5,15);
    printw("%s", "Hello world!");
    refresh();

    endwin();
    exit(EXIT_SUCCESS);
}
Run Code Online (Sandbox Code Playgroud)

编译器选项,在Eclipse控制台的"Build project"命令中提供:

make all 
Building file: ../source/Curses_01.c
Invoking: GCC C Compiler
gcc -Incurses -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"source/Curses_01.d"     -MT"source/Curses_01.d" -o"source/Curses_01.o" "../source/Curses_01.c"
Finished building: ../source/Curses_01.c

Building target: Curses_01
Invoking: GCC C Linker
gcc  -o"Curses_01"  ./source/Curses_01.o   -lcurses
Finished building target: Curses_01
Run Code Online (Sandbox Code Playgroud)

提前谢谢大家!

c eclipse linux gcc ncurses

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

Ncurses和Qt互操作性

拥有基于Qt和ncurses的应用程序,在等待用户输入的同时每秒刷新屏幕的最佳方法是什么?(例如,显示时钟并获取用户输入).

我需要CPU使用率和应用程序响应能力之间的最佳折衷.

更具体的问题是,如何获得用户输入仍然使用QTimer和信号槽机制?

使用下面的代码时,计时器不起作用.

nodelay(stdscr,true); while(1) { sleep(1); getch(); processInput(); }
Run Code Online (Sandbox Code Playgroud)

c++ qt ncurses qtcore

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

C - 使用 ncurses 获得中性背景

在这个简单的程序中(用 C 编写)

#include <ncurses.h>
#include <string.h>

int main()
{
 initscr();
 printw("line 1\n");
 printw("line 2\n");
 start_color();
 init_pair(1, COLOR_RED, COLOR_BLACK);
 printw("line 3");
 getch();
 endwin();

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

黑色背景上的红色文本打印在屏幕上。但是当我运行程序时,背景比终端的黑色背景稍亮,在Linux(Gnome终端)中。

我不想在终端的默认黑色上设置背景颜色:我想保留终端背景并将背景实际设置ncurses为透明。

有没有办法做到这一点?

注意:我试图按照这个问题中的建议将该函数放在use_default_colors();后面,但它没有用。start_color();

c linux terminal text ncurses

6
推荐指数
2
解决办法
2919
查看次数

如何减少 NCurses C 应用程序中的输入延迟

当我运行我的应用程序时,我遇到了大量的输入延迟。

更多细节:当我按下“w”、“a”、“s”、“d”(我指定的输入键)时,对象会移动,但是在释放键后它会继续移动很长时间。源代码在下面,但是代码的一小部分已经被剪掉以缩短问题,但是如果下面的源代码不能编译,我将所有代码放在 github 上。 https://github.com/TreeStain/DodgeLinuxGame.git谢谢你的时间。-特里斯坦

道奇.c:

#define ASPECT_RATIO_X 2
#define ASPECT_RATIO_Y 1
#define FRAMES_PER_SECOND 60

#include <ncurses.h>
#include "object.h"
#include "render.h"

int main()
{
    initscr();
    cbreak();
    noecho();
    nodelay(stdscr, 1);

    object objs[1];

    object colObj; colObj.x = 10; colObj.y = 6;
                   colObj.w = 2;  colObj.h = 2;
                   colObj.sprite = '*';
                   colObj.ySpeed = 1;
                   colObj.xSpeed = 1;

    objs[0] = colObj;

    //halfdelay(1);

    while (1)
    {
        char in = getch();
        if (in == 'w')
            objs[0].y -= objs[0].ySpeed * ASPECT_RATIO_Y;
        if (in == 's')
            objs[0].y …
Run Code Online (Sandbox Code Playgroud)

c loops input ncurses delay

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

在CLion CMake中链接ncurses

我正在玩ncurses.Ncurses是我安装的库,不是我自己的文件.我已经做了一些事情,但使用IDE更容易,所以我决定使用CLion(我在Linux上,所以不能使用Visual Studio).我得到了以下CMakeLists.txt:

cmake_minimum_required(VERSION 3.6)
project(ncurses)

set(CMAKE_C_STANDARD "${CMAKE_C_FLAGS} -Wall -Werror -lpdcurses")

set(SOURCE_FILES main.cpp ncurses.h)
add_executable(ncurses ${SOURCE_FILES})
Run Code Online (Sandbox Code Playgroud)

我的项目被称为ncurses我不知道这是否重要.

我得到了以下main.cpp

#include <ncurses.h>

int main() {
    initscr();
    printw("Hello");
    refresh();
    getch();
    endwin();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

/opt/clion/bin/cmake/bin/cmake --build /home/josh/ClionProjects/ncurses /cmake-build-debug --target all -- -j 4
make[2]: *** No rule to make target 'CMakeFiles/ncurses.dir/build'.  Stop.
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/ncurses.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
Run Code Online (Sandbox Code Playgroud)

我不知道问题是什么.我尝试过-lncurses,lpdcurses但是这也不起作用.它只会在构建时出错,但在IDEA本身时不会出错.

c++ ncurses

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

标签 统计

ncurses ×10

c ×5

linux ×5

c++ ×3

colors ×2

command-line ×1

delay ×1

eclipse ×1

gcc ×1

input ×1

loops ×1

python ×1

qt ×1

qtcore ×1

screen ×1

shell ×1

terminal ×1

text ×1