21 Qt中ui设计中的一些小知识点

  • Post author:
  • Post category:其他

记录一下小细节,方便随时查看

1 改变布局中组件大小

在这里插入图片描述

通过修改最小大小设置重的宽度和高度
在这里插入图片描述

2 QPixMap 加载显示图片

    QPixmap img;

	QString path_name = "db3000/";  //路径名
	
	path_name += node.s_name.c_str(); // 图片名称

	qDebug() << "path_name:" << path_name;
	img.load(path_name);

	ui.imageLabel->setPixmap(img); //label 容器
	ui.imageLabel->setScaledContents(true);  //设置缩放

在这里插入图片描述

3 QTableWidget 常见用法

//加载参数
	ui.tableWidget->setRowCount(rows+1);  //10行
	ui.tableWidget->setColumnCount(2); //2列
	ui.tableWidget->verticalHeader()->setVisible(false); //隐藏列表头
	ui.tableWidget->horizontalHeader()->setVisible(false); //隐藏行表头
	ui.tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch); //设置第2列,按照内容拉伸填充。
	
	//0,0 位置处填充文字
	ui.tableWidget->setItem(0, 0, new QTableWidgetItem(QString::fromStdString(attr_name)));
	ui.tableWidget->setSpan(0, 0, 1, 4);  //合并单元格,起始位置0,0, 合并行数1行,合并列数4列

    int index = 0;

	for (int i = 0; i < node.vct_node.size(); i++)
	{
		NodeXml  node_point = node.vct_node.at(i);
		qDebug() <<"xxxx--> "<<  node_point.s_name.c_str() << node_point.s_value.c_str();

		ui.tableWidget->setItem(index + 1, 0, new QTableWidgetItem(QString::fromStdString(node_point.s_name)));
		ui.tableWidget->setItem(index + 1, 1, new QTableWidgetItem(QString::fromStdString(node_point.s_value)));

		index++;

		for (int j = 0; j < node_point.vct_node.size(); j++)
		{
			NodeXml point = node_point.vct_node.at(j);
			qDebug()<< "#### --> " << point.s_name.c_str() << point.s_value.c_str();
			ui.tableWidget->setItem(index+1, 0, new QTableWidgetItem(QString::fromStdString(point.s_name)));
			ui.tableWidget->setItem(index+1, 1, new QTableWidgetItem(QString::fromStdString(point.s_value)));
			index++;
		}
	}

在这里插入图片描述

4 frame中嵌套Layout

本意是需要放置一个widget,但是由于layout 本身不能固定大小,故将layout放入一个frame中,对frame设置最小高度,从而避免图形放大缩小时影响
在这里插入图片描述


版权声明:本文为xiongjia516原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。