#include <QApplication>#include <QtGui>#include <QTextCodec>#include <QMenuBar>#include <QAction>#include <QStatusBar>#include <QObject>/* Тестовое окно сообщения */void show_info(){ QMessageBox *message = new QMessageBox; message->information(NULL, "Окно сообщения", "<b>Тут текст и все такое</b><br>Ля-Ля-Ля"); //message->exec();}int main(int argc, char *argv[]){ QApplication app(argc, argv); /* Устанавливаем UTF-8 кодировку */ QTextCodec *codec = QTextCodec::codecForName("UTF-8"); QTextCodec::setCodecForCStrings(codec); QWidget *wid = new QWidget; wid->setWindowTitle("Моя программа"); wid->setGeometry(200,200,640,480); /* Создаем меню */ QMenuBar *menu = new QMenuBar; QMenu *menu1 = new QMenu("&Файл"); QAction *mesaga = new QAction("Вызови меня", 0); menu1->addAction(mesaga); menu->addMenu(menu1); [color=red]QObject::connect(mesaga, SIGNAL(triggered()), wid, SLOT(show_info()));[/color] /* Создаем статусбар */ QStatusBar *status = new QStatusBar; status->showMessage("здесь статусбар"); QMdiArea *pole = new QMdiArea; /* Выстраиваем виджеты */ QVBoxLayout *vb = new QVBoxLayout(wid); vb->setMargin(0); vb->setSpacing(2); vb->addWidget(menu); vb->addWidget(pole); vb->addWidget(status); wid->showMaximized(); return app.exec();}
C++ (Qt) MyFunctions func; QObject::connect(mesaga, SIGNAL(triggered()), &func, SLOT(showInfo()));
C++ (Qt)#ifndef MYFUNCTIONS_H#define MYFUNCTIONS_H #include <QObject> class MyFunctions : public QObject{ Q_OBJECTpublic: explicit MyFunctions(QObject *parent = 0); signals: public slots: void showInfo(); }; #endif // MYFUNCTIONS_H
C++ (Qt)#include "myfunctions.h"#include <QMessageBox> MyFunctions::MyFunctions(QObject *parent) : QObject(parent){} void MyFunctions::showInfo(){ QMessageBox::information(NULL, "Окно сообщения", "<b>Тут текст и все такое</b><br>Ля-Ля-Ля");}
static void show_info(GtkWidget *widget, gpointer window){ GtkWidget *dialog; dialog = gtk_message_dialog_new(GTK_WINDOW(window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Название жирными буквами", "title"); gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "Тут типа текст - Ля-Ля-Ля"); gtk_window_set_title(GTK_WINDOW(dialog), "Это заголовок"); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog);}
g_signal_connect (G_OBJECT (mesaga), "activate", G_CALLBACK (show_info), (gpointer) window);
QObject::connect(mesaga, SIGNAL(triggered()), &func, SLOT(showInfo()));
C++ (Qt)QMessageBox::information(0, "hello", "hello");