Hi.<br>I don't find qyoto bug tracker.<br>under ubuntu,<br>when i try use QMouseEvent Buttons function an exeption is generate : cast invalid to uint..<br><br>code :<br><br>using System;<br>using Qyoto;<br><br>public class maWidget : QWidget<br>
{<br> //position dans le repere widget de click gauche<br> QPoint p;<br> bool b;<br><br> <br> public maWidget()<br> : base(null, (uint)(Qt.WindowType.FramelessWindowHint | Qt.WindowType.SubWindow))<br>
{<br> b = false;<br> <br> Resize(300,300);<br> //création d'un mask sous forme de chessboard.<br> QBitmap mask = new QBitmap(5,5);<br> {<br> QPainter p = new QPainter(mask);<br>
p.FillRect(mask.Rect() , Qt.GlobalColor.color0);<br> p.SetPen(Qt.GlobalColor.color1);<br> for (int i = 0 ; i < mask.Height() ; ++i)<br> for(int j = 0 ; j< mask.Width() ; ++j)<br>
if( (i%2 ^ j%2) != 0)<br> p.DrawPoint(j,i);<br> }<br> //retaille le mask a la taille de la fenetre<br> mask = new QBitmap(mask.Scaled( this.Size ));<br> //application du mask sur toute la widget<br>
SetMask(mask);<br><br> }<br><br> protected override void MousePressEvent ( QMouseEvent mouseEvent )<br> {<br> //sauvegarde du point dans le repère widget lors du click gauche<br> if(mouseEvent.Button() == Qt.MouseButton.LeftButton) <br>
{<br> p = mouseEvent.Pos();<br> b = true;<br> }<br> <br> }<br> protected override void MouseReleaseEvent ( QMouseEvent mouseEvent )<br> {<br> //sauvegarde du point dans le repère widget lors du click gauche<br>
if(mouseEvent.Button() == Qt.MouseButton.LeftButton) <br> {<br> b = false;<br> }<br> <br> }<br> protected override void MouseMoveEvent ( QMouseEvent mouseEvent )<br> {<br> <br>
<b>uint but = mouseEvent.Buttons(); // <= cast exeption </b><br> //repositionne la fênetre en fonction de la postion de la souris<br> if(b) <br> {<br> QPoint po= mouseEvent.GlobalPos() - p;<br>
Move(po.X(),po.Y() );<br> }<br> }<br>}<br><br><br>public class Test<br>{<br> <br> public static int Main(String[] args) <br> {<br> QApplication app = new QApplication(args);<br> maWidget w = new maWidget();<br>
w.Show();<br> return QApplication.Exec();<br> }<br> <br>}<br>