[英]Gtk2 Get data from 2 entries with the same button
因此,我是gtk的新手,我正在嘗試制作一個登錄表單,並且我需要在按下“提交”按鈕時同時發送用戶名和密碼。 我怎樣才能做到這一點? 我的代碼:
const void button_clicked (GtkWidget *widget,gpointer data)
{
const gchar* text;
text = gtk_entry_get_text(GTK_ENTRY(data));
write(lala,text,100);
}
GtkWidget*window,*label_username,*label_password,*layout,*entry_username,*entry_password,*submit_button;
entry_username = gtk_entry_new();
entry_password = gtk_entry_new();
submit_button = gtk_button_new_with_label("Sumbit");
g_signal_connect(submit_button,"clicked",G_CALLBACK(button_clicked),entry_username;
如何使Submit_button函數從entry_username和entry_password接收文本? 謝謝!
在gtk中,對於此類情況,最好將包含小部件作為成員的結構傳遞給回調函數...
typedef struct MainWindow
{
GtkWidget *entry_username, *entry_password;
}MAINWINDOW;
int main(
MAINWINDOW *mainwindow = malloc(sizeof(MAINWINDOW));
mainwindow->entry_username = gtk_entry_new();
mainwindow->entry_password = gtk_entry_new();
g_signal_connect(submit_button,"clicked",G_CALLBACK(button_clicked),mainwindow);
}
const void button_clicked (GtkWidget *widget,gpointer data)
{
MAINWINDOW *mainwindow = data;
//now you have both the widget's
// modify em as per your wish :)
}
這是一個非常粗糙的例子。 但是類似這樣的方法應該適合您的情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.