簡體   English   中英

gtk2使用同一按鈕從2個條目中獲取數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM