Roson讲Qt #12 QDialog窗口设置

ゞ 浴缸里的玫瑰 2022-09-08 12:57 459阅读 0赞

1.默认的窗口样式

  1. QDialog dlg;
  2. dlg.exec();

如果什么属性都不设置,直接启动对话框,就是下面这样的界面:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_Q1NETiBAQWxsZW4gUm9zb24_size_20_color_FFFFFF_t_70_g_se_x_16

2.全屏显示(遮住任务栏)

  1. QDialog dlg;
  2. dlg.showFullScreen();
  3. dlg.exec();

下面是运行之后的界面,整个屏幕被空白的Dialog铺满,任务栏也被遮住了。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_Q1NETiBAQWxsZW4gUm9zb24_size_56_color_FFFFFF_t_70_g_se_x_16

3.去掉对话框自带的按钮和标题栏

  1. QDialog dlg;
  2. dlg.setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint);
  3. dlg.exec();

上面代码执行后,对话框标题不显示了,问号按钮和关闭按钮也不见了,但代价是窗口不能直接用鼠标拖动了,需要自己处理鼠标事件并实现鼠标拖动窗口的功能。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_Q1NETiBAQWxsZW4gUm9zb24_size_21_color_FFFFFF_t_70_g_se_x_16

4.设置窗口置顶显示

  1. QDialog dlg;
  2. dlg.setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
  3. dlg.exec();

可以看到我的鼠标已经定位在一个文本编辑器里面了,但是对话框窗口处于编辑器上方。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_Q1NETiBAQWxsZW4gUm9zb24_size_31_color_FFFFFF_t_70_g_se_x_16

5.最大化显示(不会遮住任务栏)

  1. QDialog dlg;
  2. dlg.setWindowState(Qt::WindowMaximized);
  3. dlg.exec();

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_Q1NETiBAQWxsZW4gUm9zb24_size_56_color_FFFFFF_t_70_g_se_x_16 1

发表评论

表情:
评论列表 (有 0 条评论,459人围观)

还没有评论,来说两句吧...

相关阅读

    相关 RosonQt #3 QLineEdit

    1.什么是QLineEdit     QLineEdit小部件是一个单行文本编辑器。                     QLineEdit允许用户输入和编辑一行纯