内容可以被选择
QLabel* label = new QLabel;
label->setTextInteractionFlags(Qt::TextSelectableByMouse);
enum TextInteractionFlag {
NoTextInteraction = 0,//没有文本交互:只有展示的功能
TextSelectableByMouse = 1,//文本可以被鼠标选择
TextSelectableByKeyboard = 2,//可以操纵键盘,文本栏会出现光标,不能删除,但是按上下左右按键,光标可以跟着文本移动,鼠标无法操作
LinksAccessibleByMouse = 4,//可由鼠标访问的链接
LinksAccessibleByKeyboard = 8,//可由键盘操作访问的链接
TextEditable = 16,//文本可编辑
TextEditorInteraction = TextSelectableByMouse | TextSelectableByKeyboard | TextEditable,
TextBrowserInteraction = TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard
};
自动换行
label->setWordWrap(true);
字体
QFont ft;
ft.setPixelSize(16);
label->setFont(ft);
无边框
label->setStyleSheet("QLabel{boder-width:0px}");//让QLabel控件的边框大小设置为0
//设置边框颜色
label->setStyleSheet("QLabel{border:1px solid red})");
背景色
QPalette pa;
pa.setColor(QPalette::WindowText,Qt::red);
label->setPalette(pa);
enum GlobalColor {
color0,
color1,
black,
white,
darkGray,
gray,
lightGray,
red,
green,
blue,
cyan,
magenta,
yellow,
darkRed,
darkGreen,
darkBlue,
darkCyan,
darkMagenta,
darkYellow,
transparent
};
内容居中
label->setAlignment(Qt::AlignCenter);
enum AlignmentFlag {
AlignLeft = 0x0001, //靠左
AlignLeading = AlignLeft,
AlignRight = 0x0002,//靠右
AlignTrailing = AlignRight,
AlignHCenter = 0x0004,//横向居中
AlignJustify = 0x0008,
AlignAbsolute = 0x0010,
AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute,
AlignTop = 0x0020, //靠上
AlignBottom = 0x0040, //靠下
AlignVCenter = 0x0080,//纵向居中
AlignBaseline = 0x0100,
AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter | AlignBaseline,
AlignCenter = AlignVCenter | AlignHCenter //横向 纵向 居中
};
QLabel添加超链接
1.方法1:使用信号槽绑定方式
//设置超链接并绑定信号槽
QLabel *linkLabel = new QLabel();
linkLabel->setText("<a href=\"http://www.cnblog.com/fron_csl\">linkLabelTest");
connect(linkLabel, SIGNAL(linkActivated(QString)), this, SLOT(openUrl(QString)));
//槽函数实现
void testWidget::openUrl(QString url)
{
QDesktopServices::openUrl(QUrl(url));
// //若是文件路径,则需使用下面的打开方式,具体可参见QUrl帮助文档
// QDesktopServices::openUrl(QUrl("file:///" + url, QUrl::TolerantMode));
}
2.方法2:通过设置QLabel属性实现超链接(此方法不需要绑定信号槽,比较简单)
linkLabel->setOpenExternalLinks(true);
linkLabel->setText("<a href=\"http://www.cnblog.com/fron_csl\">linkLabelTest");
QT是支持HTML的,所以呢,以下设置有效
1,设置超链接颜色
linkLabel->setText("<a style='color: green;' href=\"http://www.cnblog.com/fron_csl\">linkLabel");
2,去掉超链接下面的下划线
linkLabel->setText("<style> a {text-decoration: none} </style> <a href=\"http://www.cnblog.com/fron_csl\">linkLabel");
设置链接颜色:
ui.labView->setText(QString::fromLocal8Bit("<a style='color: green;' href = www.doshow.com> 查看</a>"));