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

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,两端对齐08
        int layoutHAlign = this->alignment() & 0x0f;
        if ((layoutHAlign != Qt::AlignLeft))     //判断方式

  // 垂直对齐掩码0xf0,顶对齐20,底对齐40,居中对齐80
        int 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  ____  .deb
 apt source ukui-menu
 sudo apt install dekg-dev
 sudo 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) {
    
      //使用,然后判断
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_43473694/article/details/108617806