|
|
|
// Qt# tutorial 6
|
|
|
|
// Based on the Qt tutorial
|
|
|
|
// Implemented by Marcus Urban
|
|
|
|
|
|
|
|
using System;
|
|
|
|
using Qt;
|
|
|
|
|
|
|
|
public class LCDRange : TTQVBox {
|
|
|
|
|
|
|
|
public LCDRange (TTQWidget parent, String name) : base (parent, name)
|
|
|
|
// In C++, parent and name have default values of 0 (null pointer)
|
|
|
|
{
|
|
|
|
TTQLCDNumber lcd = new TTQLCDNumber (2, this, "lcd" );
|
|
|
|
TTQSlider slider = new TTQSlider (Orientation.Horizontal, this, "slider");
|
|
|
|
slider.SetRange (0, 99);
|
|
|
|
slider.SetValue (0);
|
|
|
|
|
|
|
|
Connect ( slider, TQT_SIGNAL ("valueChanged(int)"), lcd, TQT_SLOT ("Display(int)") );
|
|
|
|
}
|
|
|
|
|
|
|
|
public LCDRange (TTQWidget parent) : this (parent, "") {}
|
|
|
|
public LCDRange () : this (null, "") {}
|
|
|
|
// Note that it was necessary to use an empty string ("")
|
|
|
|
// in the above. Using null does not work at runtime.
|
|
|
|
}
|
|
|
|
|
|
|
|
public class MyWidget : TTQVBox {
|
|
|
|
|
|
|
|
MyWidget (TTQWidget parent, String name) : base (parent, name)
|
|
|
|
{
|
|
|
|
TTQPushButton quit = new TTQPushButton ("Quit", this, "quit");
|
|
|
|
quit.SetFont ( new TTQFont ("Times", 18, TTQFont.Weight.Bold) );
|
|
|
|
|
|
|
|
Connect ( quit, TQT_SIGNAL ("clicked()"), qApp, TQT_SLOT ("Quit()") );
|
|
|
|
|
|
|
|
TTQGrid grid = new TTQGrid (4, this);
|
|
|
|
|
|
|
|
for ( int c =0; c < 4; c++ )
|
|
|
|
for ( int r = 0; r < 4; r++ )
|
|
|
|
new LCDRange (grid);
|
|
|
|
}
|
|
|
|
|
|
|
|
public MyWidget (TTQWidget parent) : this (parent, "") {}
|
|
|
|
public MyWidget () : this (null, "") {}
|
|
|
|
}
|
|
|
|
|
|
|
|
public class Example {
|
|
|
|
|
|
|
|
public static int Main (String[] args)
|
|
|
|
{
|
|
|
|
TTQApplication a = new TTQApplication (args);
|
|
|
|
|
|
|
|
MyWidget w = new MyWidget ();
|
|
|
|
a.SetMainWidget (w);
|
|
|
|
w.Show ();
|
|
|
|
return a.Exec ();
|
|
|
|
}
|
|
|
|
}
|