Choisir le mode Console Application
program SimpleQt;
uses
Qt,
QForms,
SysUtils;
type
TDummyClass = class
procedure ButtonClicked; cdecl;
end;
var
App : QApplicationH; // QApplication handle
MainWnd : QWidgetH; // Main window handle
Button : QWidgetH; // Button handle
MainForm : TForm; // Main application form
Caption : WideString;
DummyClass : TDummyClass;
ButtonHook : QButton_hookH;
BtnClicked : TMethod;
procedure TDummyClass.ButtonClicked;
var
Caption, Text, YesText, NoText : AnsiString;
begin
Caption := 'Close Application';
Text := 'Are you sure you want to quit?';
YesText := 'Yes';
NoText := 'No';
// creates messagebox
if QMessageBox_query(@Caption, @Text, @YesText, @NoText, MainWnd, PChar('mb')) then
QApplication_quit(App);
end;
begin
DummyClass := TDummyClass.Create;
// initializes application and stores handle in App
Application.Initialize;
App := Application.Handle;
// creates main window
MainForm := TForm.Create(nil);
Caption := 'Minimum CLX Application';
MainWnd := MainForm.Handle;
// set window caption and size
QWidget_setCaption(MainWnd,@Caption);
QWidget_setGeometry(MainWnd,100,100,200,100);
// creates the button
Caption := 'Close App';
Button := QPushButton_create(@Caption, MainWnd, PChar('Button'));
// sets button size
QWidget_setGeometry(Button,20,20,160,160);
// creates the button hook
ButtonHook := QButton_hook_create(Button);
// convert the method to a TMethod
QButton_clicked_Event(BtnClicked) := DummyClass.ButtonClicked;
// link the method to the clicked event of the button
QButton_hook_hook_clicked(ButtonHook, BtnClicked);
// sets application main widget
QApplication_setMainWidget(App,MainWnd);
// shows widget and enters application loop
QWidget_show(MainWnd);
QApplication_exec(App);
DummyClass.Free;
end.