QT:常用函数详解(个人笔记)

PS:一下内容个人笔记,要求自己看懂,随笔,阅读体验会很差很差


  1. Qt setContentsMargins()函数
    函数原型:void QLayout::setContentsMargins (int lef,int top,int right,int bottom)
    参数顺序:左上右下
    作用:设置左侧、顶部、右侧和底部边距,以便在布局周围使用

  2. Qt 布局管理器
    QHBoxLayout、QVBoxLayout、QGridLayout三种基本布局管理器,分别是 水平布局,垂直布局,网格布局。

  3. 水平布局
    QHBoxLayout: 在水平的方向上排列控件 左右排列

常用代码(笔记形式):

QHBoxLayout* pLayout = new QHBoxLayout();//水平布局QPushButton* p1 = new QPushButton("p1");
QPushButton* p2 = new QPushButton("p2");//水平居左,垂直居上pLayout->addWidget(p1,0,Qt::AlignLeft | Qt::AlignTop);//居左,居下pLayout->addWidget(p2,0,Qt::AlignLeft | Qt::AlignBottom);//相当于有一个弹簧顶着 , 你窗口变宽 他的弹簧就会拉伸
addStretch();//添加一个可伸缩空间addSpacing(int size);//添加一个固定size 大小的间距setMargin(int);
//setMargin可以设置左、上、右、下的外边距,设置之后,他们的外边距是相同的//与setMargin功能相同,但是可以将左、上、右、下的外边距设置为不同的值
setContentsMargins(int left, int top, int right, int bottom );setContentsMargins(const QMargins &margins); 设置外边距addWidget(QWidget *, int stretch = 0, Qt::Alignment alignment = 0)
//添加控件,默认的,我们添加控件至水平布局中,默认都是垂直方向居中对齐的。setDirection(QBoxLayout::RightToLeft)//设置布局方向
pLayout->setDirection(QBoxLayout::RightToLeft);//自右向左setStretchFactor(QWidget *w, int stretch);//设置控件、布局的拉伸系数
setStretchFactor(QLayout *l, int stretch

pLayout->setStretchFactor(p1,1);//设置p1的拉伸系数为1
pLayout->setStretchFactor(p2,2);//设置p1的拉伸系数为2

当窗口变大时 先优先拉伸系数 大的 然后拉伸系数小的 ,
所以,p1 和 p2 的宽度比例是 1:2

  1. 垂直布局

QVBoxLayout:在垂直的方向上排列控件 上下排列

QVBoxLayout* pLayout = new QVBoxLayout();//水平布局

其它的代码和水平布局是一个道理

  1. 对齐方式
Qt::Alignment 类型有以下取值:1)Qt::AlignLeft::水平方向靠左。2)Qt::AlignRight:水平方向靠右。3)Qt::AlignHCenter:水平方向居中。4)Qt::AlignJustify:水平方向调整间距两端对齐。5)Qt::AlignTop:垂直方向靠上。6)Qt::AlignButton:垂直方向靠下。7)Qt::AlignVCenter:垂直方向居中。8)Qt::AlignCenter:等价于 Qt::AlignHCenter | Qt::AlignVCenter
 // 水平对齐掩码0x0f,左对齐01,右对齐02,居中对齐04,两端对齐08int layoutHAlign = this->alignment() & 0x0f;if ((layoutHAlign != Qt::AlignLeft))     //判断方式// 垂直对齐掩码0xf0,顶对齐20,底对齐40,居中对齐80int layoutVAlign = this->alignment() & 0xf0;if ((layoutVAlign != Qt::AlignTop)      //判断方式
  1. 获取当前桌面的分辨率
 QDesktopWidget *primaryScreen = QApplication::desktop();int width = primaryScreen ->width();        //获取宽度int height = primaryScreen ->height();     //获取高度
  1. Qtcreator中常用快捷键和小技巧

F1 查看帮助
F2 跳转到函数定义(和Ctrl+鼠标左键一样的效果)
Shift+F2 声明和定义之间切换
F4 头文件和源文件之间切换
Ctrl+/ 注释行,取消注释行
Ctrl+I 自动对齐
Alt+0 显示或者隐藏侧边条,编辑模式下起作用(有时写的函数太长,屏幕不够大,就用这个)

  1. 常用命令笔记(个人用,要求自己看懂的)
 sudo dpkg --no-debsig -i  ____  .debapt source ukui-menusudo apt install dekg-devsudo dekp -l 查看已经安装的  /  -r 软件名  卸载
dkpg -l | grep switch
sudo apt install evemu-tools
sudo evemu-record
gsettings get org.gname.desktop.wm.keybindings close
sudo apt install d-feet
下载qt sudo apt install cmake qt5-default qtcreator
apt-cache rdepends ukui-window-switch
dconf-editor
sudo apt install xbindkeys xvkbd
xrandr -s 1680x1050
  1. 日志调试

#include <syslog.h>
syslog(LOG_DEBUG," [%s] Start", FUNCTION); 输出函数名 输出结果如 [eventFilter] Start
syslog 第二个参数是输出格式,第三个是输出的变量
debuild 后安装
reboot
tail -f /var/log/syslog
使用刚刚装好的包 使用后查看输出的日志
输出的日志就是刚刚的操作对应的日志

内容来自转载和自己笔记;

转载来自:https://blog.csdn.net/weixin_42837024

10.增加xml文件 (2020/11/19)
首先 .pro 文件需要加 xml

QT       += core gui dbus xml

然后,.pro文件继续加入,主要看最后三行的修改;
这样 deb包安装的时候。就会把xml文件自动安装到对应位置 path

结构:放在data目录下,文件夹去操作。复制,粘贴,然后修改内容和名字

随后就可以继续在代码中使用了

11、gsettings监听xml文件的key

#define SETTINGS_MONITOR_TABLET_MODE "name"//xml文件名字
#define MONITOR_TABLET_MODE          "key"//key 的名字//函数中使用
QByteArray id(SETTINGS_MONITOR_TABLET_MODE);QGSettings *tablet = new QGSettings(id);if (tablet->keys().contains("modemonitor")) {bool Setting = tablet->get(MONITOR_TABLET_MODE).toBool();//bool int 等类型if (Setting == true) {  //使用,然后判断}}

QT:常用函数详解--常用操作记录(个人笔记)相关推荐

  1. python的shutil模块是内置的_Python之shutil模块11个常用函数详解,python内置函数是什么...

    Python之shutil模块11个常用函数详解,python内置函数是什么 shutil 是 Python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建.删除.查 ...

  2. MySql截取字符串的几个常用函数详解

    MySql截取字符串的几个常用函数详解 MySQL 截取字符的几个常用函数:left(), right(), substring(), substring_index(),mid(), substr( ...

  3. blankcount函数python,Python pandas常用函数详解

    本文研究的主要是pandas常用函数,具体介绍如下. 1 import语句 2 文件读取 df = pd.read_csv(path='file.csv') 参数:header=None 用默认列名, ...

  4. 【Python入门】Python之OS模块39个常用函数详解

    os,语义操作系统,所以该模块就是操作系统相关的功能了,用于处理文件和目录这些我们日常手动需要做的操作,比如新建文件夹.获取文件列表.删除某个文件.获取文件大小.重命名文件.获取文件修改时间等,该模块 ...

  5. numpy随机生成01矩阵_Python数据分析Numpy库常用函数详解,提到循环就该想到的库...

    Python进行数据分析的核心库肯定是Pandas,该库差不多可以解决结构化数据的绝大部分处理需求.在<Python数据分析常用函数及参数详解,可以留着以备不时之需 >一文中也已经对该库的 ...

  6. linux网络编程常用函数详解与实例(socket--bind--listen--accept)

    常用的网络命令: netstat 命令netstat是用来显示网络的连接,路由表和接口统计等网络的信息.netstat有许多的选项我们常用的选项是 -an 用来显示详细的网络状态.至于其它的选项我们可 ...

  7. el replace 表达式_EL表达式运算符、常用函数详解

    运算符: 1.算术运算符有五个:+.-.*或$./或div.%或mod 2.关系运算符有六个:==或eq.!=或ne.或gt.<=或le.>=或ge 3.逻辑运算符有三个:&&am ...

  8. coalesce 函数详解与学习记录

    1.在工作中都用到了此函数,特此学习并记录一下. 2.coalesce 用途: 1.将空值替换成其他值: 2.返回第一个非空值 3.SQL实例​​​​​​​一 select coalesce(succ ...

  9. Opengl 入门,学习网站,常用函数详解 (gluproject,gluUnProject,glReadPixels)

    Opengl 学习网站 想要系统的学,推荐learnopengl网站官网链接.,同时可以看工具书<OpenGL编程指南(第8版)> 目前市面上的教程,大部分是针对新版本的opengl,即核 ...

最新文章

  1. linux关机告诉用户,在Linux服务器关机前向用户显示一条自定义消息
  2. c# 多线程排队队列实现的源码
  3. 零基础基于U-Net网络实战眼底图像血管提取
  4. UI设计十戒--设计师的艺术
  5. 【教程】利用libsvm-mat建立分类模型model参数解密【by faruto】
  6. 一文读懂中国互联网的30年(整合版)
  7. [USACO08DEC]在农场万圣节Trick or Treat on the Farm
  8. Devoxx 2012:Java 8 Lambda和并行性,第1部分
  9. rsync的原理和安装使用及配制详解(三)(转)
  10. iPhone 11全球供应紧张:何时补货未知
  11. Convert Sorted List to Balanced Binary Search Tree leetcode
  12. android log4j slf4j,Android中的LOG4J
  13. mysql count group by_MySQL中使用count与group by 的统计问题
  14. 时间序列学习(1):平稳性、自相关性
  15. 三维医学图像数据标注 3D Slicer
  16. JS让网页字体大小随窗口大小改变而改变
  17. 《新型智慧城市总体规划导则》发布
  18. 一阶线性电路暂态分析的三要素法
  19. ElasticSearch 7.8.1教程(from b站狂神)+JD商城仿站
  20. 如何为 Exchange 用户添加联系人头像

热门文章

  1. 微众WeCross 跨链平台(3)交易流程
  2. 深度探索C++ 对象模型(4)-Default Copy Constructor(3)
  3. Ubuntu20.4安装及配置mysql详细教程
  4. Android Security视频学习合集
  5. 增量式爬虫与分布式爬虫
  6. Mysql的事务事务的特征事务的隔离级别
  7. c++对象长度之内存对齐(2)
  8. 2020-11-9(有序和无序广播)
  9. MySQL创建视图(CREATE VIEW)
  10. 【yml】YAML 语言教程--- 字符串