第一次找问题所得

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 得到的图像使用双线性滤波进行变换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值