Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
求助!gtk+ entry无法输入中文的问题
Experiences and Insight
720
views ·
0
replies ·
To
floor
Go
mygtk
deepin
2019-03-19 16:50
Author
本帖最后由 mygtk 于 2019-3-19 08:55 编辑
请教各位大神:
我是新手。我刚刚用deepin15.9安装了gtk+3.0,有两个问题想请教一下:
1、deepin无法安装gtk+2.0,这个手边有现成的教材可以使用,所以想用老版本,有deepin15.9安装gtk+2.0的教程吗?类比的方法已经试过了,不能用同样的方法安装gtk+2.0。
2、这是最关键的问题:按如下代码生成文本框后,无法输入中文。用gtk_entry_set_text(GTK_ENTRY(entry),“中文”),正常编译通过,英文输入输出正常。
但生成可执行文件后,不要说写入中文了,连复制都无法向其中粘贴入中文。想请教一下,有人知道这个问题该怎么解决吗?
这个问题在centOS7.6&>k+2.0下也一样,一直得不到解决。
#include
void button_pressed( GtkButton* button, gpointer
ptr
)
{
GtkEntry *entry = (GtkEntry*)
ptr
;
const gchar* abc = gtk_entry_get_text( entry );
printf( "your's :[%s]\n", abc );
return;
}
int main( int argc, char **argv )
{
gtk_init( &argc, &argv );
GtkWidget* window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
GtkWidget* entry = gtk_entry_new();
GtkWidget* button = gtk_button_new_with_label( "确定" );
GtkWidget* hbox = gtk_hbox_new( FALSE, 10 );
gtk_container_add( (GtkContainer*)window, hbox );
gtk_box_pack_start( (GtkBox*)hbox, entry, FALSE, TRUE, 0 );
gtk_box_pack_start( (GtkBox*)hbox, button, FALSE, TRUE, 0 );
gtk_entry_set_text(GTK_ENTRY(entry),"中文");
g_signal_connect( window, "destroy", G_CALLBACK( gtk_main_quit ), NULL );
g_signal_connect( window, "delete-event", G_CALLBACK( gtk_main_quit ), NULL );
g_signal_connect( button, "clicked",
G_CALLBACK( button_pressed ), (gpointer*)entry );
gtk_widget_show_all( window );
gtk_main();
return 0;
}
Reply
Like 0
Favorite
View the author
All Replies
No replies yet
Please
sign
in first
Featured Collection
Change
[Tutorial] deepin25 WSL Offline Installation Guide
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Events
More
请教各位大神:
我是新手。我刚刚用deepin15.9安装了gtk+3.0,有两个问题想请教一下:
1、deepin无法安装gtk+2.0,这个手边有现成的教材可以使用,所以想用老版本,有deepin15.9安装gtk+2.0的教程吗?类比的方法已经试过了,不能用同样的方法安装gtk+2.0。
2、这是最关键的问题:按如下代码生成文本框后,无法输入中文。用gtk_entry_set_text(GTK_ENTRY(entry),“中文”),正常编译通过,英文输入输出正常。
但生成可执行文件后,不要说写入中文了,连复制都无法向其中粘贴入中文。想请教一下,有人知道这个问题该怎么解决吗?
这个问题在centOS7.6&>k+2.0下也一样,一直得不到解决。
#include
void button_pressed( GtkButton* button, gpointer ptr )
{
GtkEntry *entry = (GtkEntry*) ptr;
const gchar* abc = gtk_entry_get_text( entry );
printf( "your's :[%s]\n", abc );
return;
}
int main( int argc, char **argv )
{
gtk_init( &argc, &argv );
GtkWidget* window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
GtkWidget* entry = gtk_entry_new();
GtkWidget* button = gtk_button_new_with_label( "确定" );
GtkWidget* hbox = gtk_hbox_new( FALSE, 10 );
gtk_container_add( (GtkContainer*)window, hbox );
gtk_box_pack_start( (GtkBox*)hbox, entry, FALSE, TRUE, 0 );
gtk_box_pack_start( (GtkBox*)hbox, button, FALSE, TRUE, 0 );
gtk_entry_set_text(GTK_ENTRY(entry),"中文");
g_signal_connect( window, "destroy", G_CALLBACK( gtk_main_quit ), NULL );
g_signal_connect( window, "delete-event", G_CALLBACK( gtk_main_quit ), NULL );
g_signal_connect( button, "clicked",
G_CALLBACK( button_pressed ), (gpointer*)entry );
gtk_widget_show_all( window );
gtk_main();
return 0;
}