本文主要是介绍GTKmm 練習筆記(二)buton控件及XPM圖檔文件初識,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
跟上一篇文章一樣,這是對於GTKmm練習的筆記,範本同樣來自於GTKmm開發團隊的Github。
由於已經說明過控件的創建方法以及打包方式,這次就簡潔紀錄一下的按鈕點擊事件的註冊流程,以及一個相當有趣的圖檔格式,
由文字所編排而成的文檔XPM格式;稍後會做說明。
範例連結
編譯完的結果截圖
點擊按鈕,觸發回調函數MessageBox()
直接進入主題,看一下源碼,首先是buttons.h
#ifndef GTKMM_EXAMPLE_BUTTONS_H # define GTKMM_EXAMPLE_BUTTONS_H# include < gtkmm / window.h > #include < gtkmm / button.h >class Buttons: public Gtk::Window { //雖然取名叫做button,但其實是主窗口,同樣必須繼承至Gtk::Windowpublic: Buttons(); virtual~Buttons();protected://Signal handlers: //宣告一個一定義的事件回調函數void on_button_clicked();//Child widgets:Gtk::Button m_button; //唯一的一個控件m_button };#endif //GTKMM_EXAMPLE_BUTTON接著button.cpp
#include "buttons.h" #include <windows.h> //範例本來沒有的,這是為了MessageBoxW做測試 #include <iostream>Buttons::Buttons() {m_button.add_pixlabel("info.xpm", "cool button"); //這裡比較特殊,增加一個有圖示的Label,參數(圖檔,"文字")set_title("Pixmap'd buttons!"); //設定主要窗口Titleset_border_width(10); //設定主要窗口與其他控件的間距 m_button.signal_clicked().connect( sigc::mem_fun(*this, //button有自定義函數signal.clicked(),綁定至自己的成員函數&Buttons::on_button_clicked) );add(m_button); //將配置完成的button控件放入主視窗中 show_all_children(); //顯示主視窗及所有控件 }Buttons::~Buttons() { }void Buttons::on_button_clicked() {MessageBoxW(NULL, (LPCWSTR)<
这篇关于GTKmm 練習筆記(二)buton控件及XPM圖檔文件初識的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!