一些很零散的窗体控制方法,在这总结一些。

1.更改窗体标题

this->setWindowTitle("窗体标题");

窗体标题”就是更改的窗体标题


2.控制窗体大小

1 this->setMaximumSize(300,300);  //窗体最大尺寸
2 this->setMinimumSize(300,300);  //窗体最小尺寸
3 this->setMinimumHeight(300);    //单独设置窗体高的最小值
4 this->setMaximumWidth(300);     //单独设置窗体宽的最小值

也可以通过窗体布局控制窗体大小

1 QGridLayout *mainLayout = new QGridLayout;                  //窗体中控件为网格布局
2 mainLayout->setSizeConstraint(QLayout::SetFixedSize);       //布局大小不变

在构造函数中的这个函数强制设置窗体的布局为固定大小,用户不可自行调整对话框大小。布局管理器将会负责调整大小的任务,当一些子窗口期间显示或隐藏的时候自动的调整对话框的大小,以保证对话框总是以优化了的大小显示。

在官方文档中setSizeConstraint给的解释为:sizeConstraint:SizeConstraint. This property holds the resize mode of the layout.

这个函数主要是通过布局管理器对布局大小进行限制,与上面介绍的窗体大小有所不同。

函数SetFixedSize如下:

void QWidget::setFixedSize(const QSize &s);

设置控件的最大和最小尺寸为s,防止控件大小的变化。


3.更改窗体图标

首先在项目右键-->添加新文件,弹出如下对话框

在左侧选中Qt,右侧选择Qt Resource File,然后Choose,页面如下:

如果路径没错的话就自己命一个名字例如:icon,然后下一步,一路next知道完成。这时候在工程文件目录下多出一个后缀为.qrc的文件,打开,如下:

CSDN QT大纲:Qt开发必备技术栈学习路线和资料

然后在右侧点击添加->添加前缀,然后->添加文件,选择准备好的ICO图片,图片可以去矢量图库搜索下载,这里选用32*32的彩色图标,添加完图标后给图标起一个别名,容易被记忆的,写代码的时候可以直接用别名代替图片名称,如下:

这时候窗体图标就已经准备好了,下面开始编写代码,在mainwindows.cpp文件中

1 this->setWindowTitle("calculator");                     //设置窗体标题
2 this->setMaximumSize(300,400);                          //窗体最大尺寸
3 this->setMinimumSize(300,400);                          //窗体最小尺寸
4 this->setWindowIcon(QIcon(":/new/prefix1/icon"));       //窗体图标

运行看一下图标已经改了。


4.去掉标题栏中最大化最小化按钮

1 //关闭按钮失效
2 this->setWindowFlags(Qt::WindowMinMaxButtonsHint);
3 //去掉最大化最小化按钮,保留关闭按钮
4 this->setWindowFlags(Qt::WindowCloseButtonHint);

5.添加任务栏图标

在MainWindow.h文件中添加如下代码

 1 #include <QSystemTrayIcon>    //任务栏类2 #include <QMenu>    //菜单类3  4 private:5  6     //窗口任务栏属性7     QSystemTrayIcon *trayIcon;8     QMenu *trayMenu;9     QAction *quitAction;    //退出程序
10     QAction *restoreWinAction;  //恢复窗口
11     void createMenu();
1 private slots:
2       void showNormal();

在mainwindow.cpp中添加代码

createMenu();//判断系统是否支持托盘图标显示if(!QSystemTrayIcon::isSystemTrayAvailable()){return;}//实例化托盘图标控件trayIcon = new QSystemTrayIcon(this);trayIcon->setIcon(QIcon(":/new/prefix1/icon"));     //设置托盘图标显示trayIcon->setToolTip("Calculator"); //显示提示信息trayIcon->showMessage("托盘","托盘管理",QSystemTrayIcon::Information,10000);trayIcon->setContextMenu(trayMenu); //绑定托盘菜单trayIcon->show();   //在任务栏显示图标//绘制任务栏菜单
void MainWindow::createMenu()
{restoreWinAction = new QAction("恢复(&R)",this);quitAction = new QAction("退出(&Q)",this);//恢复窗口connect(restoreWinAction,SIGNAL(triggered(bool)),this,SLOT(showNormal()));//退出程序connect(quitAction,SIGNAL(triggered(bool)),qApp,SLOT(quit()));//添加菜单trayMenu = new QMenu((QWidget*)QApplication::desktop());trayMenu->addAction(restoreWinAction);  //将控件绑定到菜单//添加分隔符trayMenu->addSeparator();trayMenu->addAction(quitAction);
}//恢复程序窗口
void MainWindow::showNormal()
{this->show();
}//最小化隐藏界面
void QWidget::changeEvent(QEvent *e)
{if((e->type()==QEvent::WindowStateChange)&&this->isMinimized()){this->hide();}
}

Qt 窗口的一些简单设置-标题、图标、最大化最小化按钮、任务栏图标相关推荐

  1. Q窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)

    Qt窗口中的一些小技术总结 //Qt主窗口没有最小化,最大化按钮且最大化显示  int main(int argc, char *argv[]) { QApplication a(argc, argv ...

  2. Qt 窗口操作函数(置顶、全屏,最大化最小化按钮设置等)

    一.窗口置顶 与 取消置顶 void MainWindow::on_windowTopButton_clicked() {if (m_flags == NULL){m_flags = windowFl ...

  3. Qt之界面实现技巧——包括任务栏不显示,自定义窗体,最大化最小化按钮等等全面总结

    总结一下,在开发Qt的过程中的一些技巧!可遇而不可求... 一.主界面 1.窗口 最小化 最大化 关闭按钮.显示状态自定义 setWindowFlags(Qt::CustomizeWindowHint ...

  4. WPF 窗体最大化、最小化、还原 | WPF 最大化/最小化 按钮图标切换

    UI界面: <Window x:Class="Test.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2 ...

  5. WinForm隐藏窗口控制最大化最小化按钮

    设置对窗口大小不能调整 找到[FormBorderStyle]选项,在选项列表中选择[FixedDialog],这样就可以固定窗口大小,禁止对窗口的自由调整了. 隐藏窗口的最大化和最小化按钮: 在选项 ...

  6. Qt去掉最大化最小化按钮和最大化

    w.setWindowFlags(w.windowFlags()&~Qt::WindowMaximizeButtonHint&~Qt::WindowMinimizeButtonHint ...

  7. html最小化窗口,[转载]js实现窗口(支持拉伸,拖拽,最大化,最小化,滚动

    雨亭原创,转载注明 执行效果: 一窗体实现的功能: 1.鼠标拖动. 2.八个方向的拉伸. 3.可定制窗口标题,内容(文本或HTML),初始大小和位置,最小宽度,高度. 4.支持滚动条. 5.关闭窗体. ...

  8. java swing最小化_Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果)...

    Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果) package swing; import java.awt.AWTException; import java ...

  9. win10点击任务栏图标无法最小化应用

    win10点击任务栏图标无法最小化应用 使用管理权限打开命令窗口 2.重新启动Explorer.exe 依次输入下面命令 taskkill /f /IM explorer.exe explorer.e ...

最新文章

  1. JQuery-- 获取元素的宽高、获取浏览器的宽高和垂直滚动距离
  2. 【BZOJ3992】【SDOI2015】序列统计
  3. 51nod 1243 排船的问题(二分)
  4. 抽象工厂模式 Abstract Factory Pattern
  5. 24个能给你的博客带来流量的网站
  6. Env:ctags和Taglist安装与配置
  7. 管理感悟:软件公司不加班还搞什么软件
  8. 【优化算法】动物迁徙优化算法(AMO)【含Matlab源码 1806期】
  9. C# 代码创建mysql存储过程(使用mysqlScript)
  10. H5前端开源框架收藏
  11. mysql外键设置sql语句_数据库sql语句如何设置外键
  12. 友达37寸长条液晶屏P370IVN04.1-原厂长条屏
  13. 软件测试项目实例_餐饮系统(初稿,后续待整理)
  14. 支付宝扫码支付开发配置详解
  15. 分析开关电源中电容和电感的几条原则
  16. chipsel语言_英美句子的不同表达
  17. 网络游戏排行榜计算机,网络游戏排行榜
  18. 基于cefsharp的浏览器应用开发(支持XP系统)
  19. PHP中mq是什么,MQ是什么
  20. Github如何快速找到优秀开源项目

热门文章

  1. 视频、音频格式转换(以F4V转MP4为例)
  2. bool类型_Python3.7知其然知其所以然-第七章 类型转换
  3. 2016HIMCM A题铁人三项赛问题数模获奖论文(4篇含代码)
  4. 广青linux用户和组-课后答案-centos7
  5. NGN技术介绍及发展前景
  6. VirtualBox安装CentOS7Minimal版本及网络配置
  7. python做网站和php_做网站用php还是python
  8. 毕业设计商城后台管理系统
  9. java 的本地文件到URI/URL格式的转换
  10. vba编写kml圆思路