菜单式弹出窗体
来源:互联网 发布:crystal ball for mac 编辑:程序博客网 时间:2024/04/30 09:04
弹出式窗体他的要求如下:
1.点击按钮弹出这个窗体在按钮旁边,并可编辑内容。
2.鼠标点击其他地方(非弹出窗体),这个窗体关闭
注意:1.这里基类必须是QDialog.
2.创建他时必须指定parent.
3.这个窗体必须new出来。
//头文件
class GTZLSetWidget : public QDialog
{
Q_OBJECT
public:
explicit GTZLSetWidget(QWidget *parent = 0);
~GTZLSetWidget();
public slots:
private slots:
void onTimer();
private:
void setupUI();
private:
QTimer * m_timer;
};
//实现文件GTZLSetWidget::GTZLSetWidget(QWidget *parent)
:QDialog(parent){ setupUI(); m_timer->start(100);}GTZLSetWidget::~GTZLSetWidget(){ m_timer->stop(); if(m_timer)delete m_timer;}void GTZLSetWidget::setupUI(){ this->setWindowFlags(windowFlags() | Qt::FramelessWindowHint); //this->setWindowFlags(Qt::FramelessWindowHint | Qt::Window); //this->setAttribute(Qt::WA_TranslucentBackground);}void GTZLSetWidget::onTimer(){ if(!this->isActiveWindow()) { this->close(); this->deleteLater(); }}
//调用点函数,记住,这里有点特殊,这个窗体必须new出来否则窗体无法获取到键盘输入焦点,必须指定parent否者无法正常显示void GZLTestAccountView::onSetting(){ QPoint pt = m_settingButton->pos(); pt = this->mapToGlobal(pt); int h = m_settingButton->height(); GTZLSetWidget *setting = new GTZLSetWidget(this); pt.setY(pt.y()+h); setting->move(pt); setting->show(); setting->raise(); setting->setFocus();}
0 0
- 菜单式弹出窗体
- VB窗体弹出菜单设计
- 添加窗体以及菜单弹出命令
- VB中无边框窗体实现弹出菜单
- QT主窗体右键弹出下拉菜单方法
- QT主窗体右键弹出下拉菜单方法
- Image拖动窗体效果演示,点击图片弹出菜单
- 弹出窗体
- 弹出窗体
- 弹出窗体
- 弹出窗体
- 窗体弹出
- 弹出菜单
- 弹出菜单
- 弹出菜单
- [Asp.Net]点击菜单导航栏 弹出的窗体显示到TBACONTORL中
- C#TreeView窗体版点击右键弹出菜单+右键获取信息
- C#TreeView窗体版点击右键弹出菜单+直接修改名称+新建节点
- 解析数据文件之字符串转数组类型【里面是json格式化字典】类型
- HTTP协议格式介绍
- ios通过执行JavaScript语句来获得网页数据
- 仿Mathematica中的函数ProductLog
- 搬家了,给自己找了个小窝
- 菜单式弹出窗体
- 使用ServletContextListener监听器
- undefined reference to `sin'
- memcached 启动参数
- Delphi中的算术运算函数
- js常用方法总结-数组篇
- ServletContext与Web应用范围
- Android常用开源项目
- Codeforces Round #250 (Div. 1)B(排序+并查集)