làm cách nào để tôi có thể tạo một nhãn hiệu để hoạt động giống như một liên kết? Những gì tôi có nghĩa là tôi muốn có thể bấm vào nó và sau đó điều này sẽ gọi một số lệnh trên đó.Đặt QLabel hoạt động như một siêu liên kết
26
A
Trả lời
74
QLabel does this already.
Mẫu mã:
myLabel->setText("<a href=\"http://example.com/\">Click Here!</a>");
myLabel->setTextFormat(Qt::RichText);
myLabel->setTextInteractionFlags(Qt::TextBrowserInteraction);
myLabel->setOpenExternalLinks(true);
7
Câu trả lời từ cmannnett85 là tốt nếu bạn chỉ muốn mở một URL khi liên kết được nhấp, và bạn là OK với nhúng URL trong lĩnh vực văn bản của nhãn. Nếu bạn muốn làm một cái gì đó hơi tùy chỉnh, làm điều này:
QLabel * myLabel = new QLabel();
myLabel->setName("myLabel");
myLabel->setText("<a href=\"whatever\">text</a>");
myLabel->setTextInteractionFlags(Qt::TextBrowserInteraction);
Sau đó, bạn có thể kết nối linkActivated
tín hiệu của nhãn để một khe cắm, và làm bất cứ điều gì bạn muốn trong vùng đó. (Câu trả lời này giả sử bạn có quen cơ bản với các tín hiệu và khe cắm Qt của.)
Khe có thể trông như thế này:
void MainWindow::on_myLabel_linkActivated(const QString & link)
{
QDesktopServices::openUrl(QUrl("http://www.example.com/"));
}
+0
Cảm ơn rất nhiều. nó hoạt động. –
Các vấn đề liên quan
- 1. Làm cách nào để tạo một TLabel hoạt động giống như siêu liên kết trong Delphi?
- 2. bấm jquery không hoạt động trên siêu liên kết
- 3. Siêu liên kết WPF chỉ hoạt động trong các trang?
- 4. Việc liên kết trong ActionScript hoạt động như thế nào?
- 5. Siêu liên kết trong Android
- 6. Danh sách Liên kết XOR hoạt động như thế nào?
- 7. Magento: Liên kết đặt lại mật khẩu không hoạt động
- 8. Làm thế nào để làm cho (liên kết) nút chức năng như siêu liên kết?
- 9. Ping không hoạt động nhưng liên kết http hoạt động
- 10. Siêu liên kết không hoạt động sau khi cài đặt isEnabled = true thành kiểm soát của phụ huynh
- 11. Siêu liên kết Cocoa iPhone
- 12. siêu liên kết nhãn Graphviz
- 13. Tự động thêm siêu liên kết vào RichTextBox
- 14. Làm thế nào để làm cho một nút hoạt động như một liên kết trong ERB?
- 15. Siêu liên kết PDF trên iPhone/iPad
- 16. Dừng Tự động siêu liên kết trong Outlook, Gmail, v.v.
- 17. Làm cách nào để thêm lớp đang hoạt động vào siêu liên kết mã hóa?
- 18. ASP.NET MVC Html.ActionLink siêu liên kết màu
- 19. Thêm siêu liên kết đến WPF WPF
- 20. Màu liên kết CSS không hoạt động
- 21. Hủy liên kết PHP Không hoạt động
- 22. Làm thế nào để đặt siêu liên kết đến một trang web trên ứng dụng Android?
- 23. Tạo một cột trong SlickGrid siêu liên kết
- 24. Hiển thị hình động .gif trong QLabel
- 25. Các liên kết không hoạt động khi liên kết được tạo trong một thư mục khác?
- 26. Liên kết Phonegap không hoạt động
- 27. Cách tạo Siêu liên kết trong MessageBox.show?
- 28. Siêu liên kết ô trong Winforms DataGridView
- 29. Siêu liên kết Excel đến một ô cụ thể
- 30. Thay đổi giá trị href cho một siêu liên kết
nó vì một lý do kỳ lạ không muốn cư xử như nó nên. Làm thế nào để bạn thiết lập fnc/action nó nên gọi? – user336635
Bạn không. Khi 'openExternalLinks()' là true và các cờ tương tác văn bản được thiết lập một cách công phu, 'QDesktopServices :: openUrl()' được kích hoạt mang URL của nhãn. – cmannett85
cảm ơn +1. Bạn có biết nếu tôi có thể gọi thông qua cuộc gọi fnc thông thường này – user336635