1
Qt中实现树形结构可以使用QTreeWidget类,也可以使用QTreeView类,QTreeWidget继承自QTreeView类。树形效果如下图所示:
树形结构通过QTreeWidget类和QTreeWidgetItem类实现,QTreeWidgetItem类实现结点的添加
QTreeView树形视图的indentation属性用于控制视图中每级数据项之间的缩进,对于顶级项,缩进指定从视口边缘到第一列中的项的水平距离;对于子项,缩进指定从其父项到该项的水平距离。
2
如果窗口设置了Qt::WA_DeleteOnClose 这个属性,在窗口接受了关闭事件后,Qt会释放这个窗口所占用的资源。this->setAttribute(Qt::WA_DeleteOnClose);
3
setGeometry()方法中是个参数的函数是:
setGeometry(左右, 上下, 宽, 高)
基于二维平面四个参数可以这样理解。
4
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
m_timer.setInterval(500);
5,
contentsMargins指的是控件到周围四个边的距离,顺序一般为左、上、右、下。
spacing指的是控件与窗体的上下距离。
margin指的是控件与窗体的左右距离。
layout->setContentsMargins(0,0,0,0);
6
居中
client->setTextAlignment(1,Qt::AlignHCenter);
有些时候表格需要一些图片或者图标。
我知道有两种方法,第一种是图标方法,第二种是lable加载图片
图标法,图标是不可以居中的只能在左侧
QTableWidgetItem *btItem = new QTableWidgetItem(); //靶体
btItem->setTextAlignment(Qt::AlignCenter); //文字居中
btItem->setIcon(QIcon(":/image/蓝旗.png"));
btItem->setText("红旗飘飘");
ui->tableWidget->setItem(0,5,btItem);
lable加载图片的方法:
QLabel *l1 = new QLabel(); //创建lable
l1->setPixmap(QPixmap(":/image/蓝旗.png")); //加载图片
l1->setAlignment(Qt::AlignHCenter); //设置居中
ui->tableWidget->setCellWidget(0,5,l1); //显示
7 lable
1.设置尺寸(对label里的图片大小没有影响)
setGeometry(x,y,width,height);
1
x:左上角横坐标
y:左上角纵坐标
width:宽度
height:高度
调用示例:
ui->label_image->setGeometry(10,10,1024,768);
1
2.定制控件外框
举例:设置QLabel边框
setStyleSheet("QLabel{border:2px solid rgb(200, 200, 200);}");
1
表示边框线条宽度2,实线,颜色为(200,200,200)
*QPixmap的尺寸设置
设置控件的尺寸,例如QPixmap被传入一个QLabel控件时,可以通过设置QLabel控件的尺寸来对QPixmap进行重新裁切。
pix_img = QtGui.QPixmap('./img.png')
label = QtWidget.QLabel()
# 设置label的尺寸
label.setMaximumSize(25, 25)
# 把pix_img传递给label
label.setPixmap(pix_img)
# 设置pix_img填充满Label
label.setScaledContents(True)
这样做的缺点是每个label都需要设置一次,比较繁琐。
另一种方法可以直接对Pixmap进行设置
pix_img = QtGui.QPixmap('./img.png')
# 使用scaled方法把 pix_img 的分辨率设置为25像素*25像素
# KeepAspectRatio 可以保留宽高比
# 注意这里需要有一个变量接受属性变更后的地址
pix_img = pix_img.scaled(25, 25, QtCore.Qt.KeepAspectRatio)
QtCore.Qt.IgnoreAspectRatio 大小可以自由缩放。长宽比没有保留。
KeepAspectRatio 在给定的矩形内,将尺寸缩放为尽可能大的矩形,并保留长宽比。
KeepAspectRatioByExpanding 尺寸被缩放到一个矩形,在给定的矩形之外尽可能小,并保持长宽比。
扩展:Qt::FastTransformation 转换是快速执行的,没有平滑。
Qt::SmoothTransformation 得到的图像使用双线性滤波进行变换。