Label
QLabel是qt最简单的控件之一,他的典型功能就是显示文字,实际上QLabel还有些不一样的地方,他支持超链接,当我们将label设置为超链接文本,在我们点击字符时就可以实现跳转到网页,超链接支持2种方式。
直接跳转
超链接显示设置:setText("<a href = 'https://zhulaoshi.taobao.com/'>朱老师淘宝店</a>"),格式是固定的,绿色部分位链接网址,黄色部分为在label显示的字符。
允许超链接setOpenExternalLinks(true)示例代码如下:
ui->label->setText("<a href='www.baidu.com'>百度</a>");
ui->label->setOpenExternalLinks(true);
槽函数跳转
超链接实现需要包含#include <QDesktopServices>、#include <QUrl>两头文件。
超链接显示设置setText("<a href = 'https://zhulaoshi.taobao.com/'>朱老师淘宝店</a>")
禁止超链接setOpenExternalLinks(false)
添加linkActivated槽函数,并在槽函数中编写访问网址的代码如下:
QDesktopServices::openUrl(QUrl("https://zhulaoshi.taobao.com/"));
两方式单从链接访问,实现的功能相同,但是第二种我们可以在打开网页的同时去做点其他的事情,而第一种啥也干不了,因为他不会调用其他的函数,是直接就打开了网页。示例如下:
ui->label->setText("<a href='www.baidu.com'>百度</a>");
ui->label->adjustSize();
void MainWindow::on_label_linkActivated(const QString &link) //槽函