Qt 圓角控制項,圓角窗體,滑鼠拖動窗體

2021-06-09 15:33:05 字數 543 閱讀 5028

1.設定圓角控制項:

connectpb->setstylesheet ("border:2px groove gray;border-radius:10px;padding:2px 4px;");//設定圓角按鍵

2.設定圓角窗體:

setwindowflags(qt::framelesswindowhint);

qbitmap bmp(this->size());

bmp.fill();

qpainter p(&bmp);

p.setpen(qt::nopen);

p.setbrush(qt::black);

p.drawroundedrect(bmp.rect(),10,10);

setmask(bmp);//設定窗體遮罩

3.滑鼠拖動窗體功能

void loginwindow::mousepressevent(qmouseevent *mouseevent)

void loginwindow::mousemoveevent(qmouseevent *mouseevent)

QT圓角視窗

以前寫的qt圓角都是在paintevent中繪製圓角背景,但是如果圓角附近需要放控制項,控制項就會因為自己的重繪而跑到圓角的外面去了,還有一種辦法就是設定setmask,自己控制 需要顯示,不需要顯示,bmp填充為乙個黑色圓角矩形,就能讓視窗的可見區域侷限於圓角矩形內,即使控制項越界也不會顯示出來。...

vb 建立圓角窗體

private declare function setwindowrgn lib user32 byval hwnd as long,byval hrgn as long,byval bredraw as boolean as long private declare function creat...

C WinForm 繪製圓角窗體

publicvoidsetwindowregion privategraphicspath getroundedrectpath rectangle rect,intradius protectedoverridevoidonresize system.eventargs e 教你一招 構造圓角窗體...