Qt 背景透明、无边框标题栏、鼠标拖动、定时器、获取屏幕分辨率,设置初始位置
2015-03-11 11:07
756 查看
2013-02-06 22:53:32| 分类: 学习资料 |举报|字号 订阅
QLCDNumber 弄一下一下子学到了好多东西:
DigiClock::DigiClock(QWidget *parent) :
QLCDNumber(parent)////////////////////////注意继承的类~
{
}
void DigiClock::showTime()
{
QTime time=QTime::currentTime();
text=time.toString();
display(text);
}
void DigiClock::mousePressEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
{
dragPosition=event->globalPos()-frameGeometry().topLeft();
event->accept();
}
if(event->button()==Qt::RightButton)
{
exit(0);//此处必须写exit不用用close!!!exit是application的关闭,而close只是frame的关闭
}
}
void DigiClock::mouseMoveEvent(QMouseEvent *event)
{
if(event->buttons()&Qt::LeftButton)
{
move(event->globalPos()-dragPosition);
event->accept();
}
}
.h
class DigiClock : public QLCDNumber
{
Q_OBJECT
public:
explicit DigiClock(QWidget *parent = 0);
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
signals:
public slots:
void showTime();
private:
QPoint dragPosition;
QString text;
};
转载。。。
QLCDNumber 弄一下一下子学到了好多东西:
DigiClock::DigiClock(QWidget *parent) :
QLCDNumber(parent)////////////////////////注意继承的类~
{
/*QPalette p=palette(); p.setColor(QPalette::Background,QColor(0x00,0xff,0x00,0x00)); setPalette(p);*/ setWindowOpacity(1); setWindowFlags(Qt::FramelessWindowHint);//这个是widget的标题栏和边框去掉 setAttribute(Qt::WA_TranslucentBackground);//这个是widget的背景弄透明 QDesktopWidget* pDw = QApplication::desktop();//获得桌面窗体 QRect rect = pDw->screenGeometry();//获得分辨率 move(rect.width()/2-175,rect.height()/10*9);//move就是是设置位置的是widget的位置! resize(350,80); setLineWidth(0);//这边的边框是Qframe的边框弄没 这个很关键!!!要注意Qwidget有边框,Qframe也有个边框将厚度设成0就等于隐藏了 setSegmentStyle(QLCDNumber::Filled);//lcd内部的字体样式 setDigitCount(8); QTimer *timer=new QTimer(this); connect(timer,SIGNAL(timeout()),this,SLOT(showTime())); timer->start(1000);////////////////////////////////////////////////////////////1秒触发一次timeout() showTime();
}
void DigiClock::showTime()
{
QTime time=QTime::currentTime();
text=time.toString();
display(text);
}
void DigiClock::mousePressEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
{
dragPosition=event->globalPos()-frameGeometry().topLeft();
event->accept();
}
if(event->button()==Qt::RightButton)
{
exit(0);//此处必须写exit不用用close!!!exit是application的关闭,而close只是frame的关闭
}
}
void DigiClock::mouseMoveEvent(QMouseEvent *event)
{
if(event->buttons()&Qt::LeftButton)
{
move(event->globalPos()-dragPosition);
event->accept();
}
}
.h
class DigiClock : public QLCDNumber
{
Q_OBJECT
public:
explicit DigiClock(QWidget *parent = 0);
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
signals:
public slots:
void showTime();
private:
QPoint dragPosition;
QString text;
};
转载。。。
相关文章推荐
- Qt 背景透明、无边框标题栏、鼠标拖动、定时器、获取屏幕分辨率,设置初始位置
- Qt中设置QML窗体无边框和背景透明
- Qt drag(拖动图片)时如何设置图片某个位置与鼠标绑定在一起移动
- QT_menu_设置背景透明和去阴影边框
- java SWT入门:自定义背景透明且可鼠标拖动改变尺寸和位置的Composite
- Java程序中取消窗口标题栏以及边框,并使窗口可以相应鼠标事件,被鼠标拖动;设置JFrame背景色
- QT怎么设置字体轮廓、字体位置、字体样式、字体间距、窗口背景色大小、隐藏鼠标图标
- 去掉button按钮左右两边的留白 设置按钮背景为透明 去掉鼠标点击时出现的虚线边框 层的显示与隐藏
- Android webview背景设置为透明无效 拖动时背景闪烁黑色
- QtWidget: 鼠标拖动窗口(没有标题栏时)
- android 自定义Dialog背景透明及显示位置设置(转载)
- android获取控件位置坐标,屏幕尺寸,标题栏,状态栏高度
- QT tabWidget 设置背景透明
- 获取鼠标点击的屏幕位置坐标
- xp系统主题,桌面背景,屏幕保护,分辨率等技巧的设置方法教程
- 获取屏幕分辨率以及状态栏标题栏高度最简洁的办法
- 工作札记(二):设置Embeded QT程序鼠标指针为透明
- Android webview背景设置为透明无效 拖动时背景闪烁黑色
- Qt编程—去掉标题栏和设置窗口透明用法
- 使用GTK+获取屏幕分辨率并设置满屏显示效果