我试图在QT表格的QLabel中显示一个图像。我需要这个标签只有左上角和右上角是圆的,而底部2则是矩形。
使用样式表我给border-radius一个值,它起作用了。然而,该标签内的图像保持矩形。 (图像的一角隐藏在QLabel的圆角上)。
在周围搜索时,我发现为图像(pixmap)设置遮罩并在其上绘制RoundRect会导致角落为圆形。
虽然有效,但它使图像的所有四个角都是圆形的。
有没有办法只将顶部作为圆形?
这就是我如何使像素图的边缘圆形:
QString style = "border: 4px solid; \n";
style += "border-top-left-radius: 20px;\n";
style += "border-top-right-radius: 20px;";
ui->image1->setStyleSheet(style);
这就是我如何使QLabel左上角和右上角的圆形
// in file b.php:
function example(){ /* .... */}
echo 123;
// In file a.php:
// If you do this:
file_get_contents("b.php"); // You now only have "123", the output only (the echo).
// If you do this:
require_once "b.php"; // You get the echo (as that is a part of b.php),
// But you can now also access example()!
答案 0 :(得分:0)
你戴着面具的想法并不算太糟糕。你只需要对面具进行一些复合绘图,例如
QPainter painter(&map);
painter.setBrush(Qt::color1);
painter.drawRoundedRect(0, 0, 100, 40, 20, 20);
painter.drawRect(0, 20, 100, 100);
p.setMask(map);