GTKmm 練習筆記(二)buton控件及XPM圖檔文件初識

编程入门 行业动态 更新时间:2024-10-11 11:18:48

GTKmm 練習筆記(二)buton<a href=https://www.elefans.com/category/jswz/34/1769529.html style=控件及XPM圖檔文件初識"/>

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圖檔文件初識

本文发布于:2024-02-07 10:33:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756442.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:控件   文件   練習筆記   GTKmm   XPM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!