Khi tôi tạo một QPushButton với một Biểu tượng theo mặc định sẽ hiển thị văn bản ở bên phải của biểu tượng. Có cách nào để hiển thị văn bản bên dưới biểu tượng không?Biểu tượng Qt QPushbutton phía trên Văn bản
Trả lời
Nếu bạn có thể, điều đơn giản nhất để làm là sử dụng một QToolButton thay vì:
QToolButton* button = new QToolButton(this);
button->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
button->setIcon(myIcon);
button->setText("Sample text");
Nếu đó không phải là một lựa chọn bạn có thể xem xét việc tạo nút phụ tùng của riêng bạn, có thể có nguồn gốc từ QPushButton hoặc QAbstractButton. Trong trường hợp này, bạn có thể sẽ không tập trung hầu hết các nỗ lực của bạn vào việc thực hiện lại paintEvent()
.
[Edit: đọc những ý kiến giải pháp thay thế mà có lẽ là cách đơn giản hơn thế này]
Bạn thực sự có thể thêm giao diện người dùng vào QPushButton nếu muốn. Việc định kích thước tự động có thể trở nên phức tạp, nhưng theo cách đó bạn hoàn toàn có thể kiểm soát vị trí của một biểu tượng và nhãn văn bản. –
phân lớp chỉ để định dạng thường không đáng để thử. Rất nhiều điều có thể được thực hiện chỉ bằng cách áp dụng các kiểu. Và trong khi tài liệu về các kiểu có thể tốt hơn, nó hoạt động khá tốt và thường như mong đợi. –
Đây chính xác là những gì tôi đang cố gắng làm. Cảm ơn! – DHamrick
Sử dụng Qt Creator, và ở khung phía dưới bên phải, bạn sẽ thấy một tùy chọn 'textFormat
', trong đó chọn ToolButtonTextUnderIcon
.
Trong qtcreator của tôi nó được gọi là "toolButtonStyle". –
đó là dành cho QToolButton, OP hỏi về QPushButton –
QPushButton {
padding: -25px 0 10px 0;
border: 1px solid black;
border-radius: 2px;
background-position: center bottom;
background-repeat: no-repeat;
background-origin: content;
background-image: url(":/new/resource/accept.png");
}
QPushButton:disabled {
background-image: url(":/new/resource/accept_b.png");
}
- 1. QT QPushButton với biểu tượng và văn bản được căn giữa phủ lên
- 2. Swing JButton: Biểu tượng phía trên Văn bản
- 3. ViewPagerIndicator Tabs: Các biểu tượng trên bản
- 4. biểu tượng bên ngoài không được giải quyết - Qt tạo
- 5. Biểu tượng VÀ Văn bản trong UISegmentedController
- 6. Qt QProgressBar - căn chỉnh văn bản
- 7. Cách viết bên dưới/phía trên văn bản trong LaTeX?
- 8. JTabbedPane: biểu tượng ở phía bên trái của các tab
- 9. Văn bản để phát biểu trên Quizlet.com
- 10. Biểu tượng Qt được nhúng trong Executeable
- 11. Quản lý bộ nhớ Qt cho các đối tượng Qt
- 12. Biểu tượng Qt Tray Kéo và thả
- 13. Qt QRC - không thể tải biểu tượng
- 14. qt vẽ văn bản đầy màu sắc
- 15. C# Nhận văn bản tắt notificationIcons (biểu tượng khay)
- 16. Đo chiều rộng văn bản trong Qt
- 17. Cách thêm văn bản vào biểu tượng trong ActionBar?
- 18. Hiển thị biểu tượng và văn bản chuẩn trong QLabel
- 19. Văn bản cao cấp 2 - Thay đổi biểu tượng trên Windows
- 20. Chú giải công cụ cho QPushButton
- 21. tab QTabWidget trên dọc, nhưng văn bản theo chiều ngang
- 22. Sử dụng các biểu tượng chuẩn Qt từ bên trong Qt Creator
- 23. Vẽ văn bản với đối tượng đồ họa trên JFrame
- 24. Thoát XML trên Android "@" Biểu tượng
- 25. "tràn văn bản" cho hiển thị văn bản của QLabel trong QT
- 26. QT trên OS X, cách phát hiện cách nhấp vào ứng dụng Biểu tượng Dock
- 27. Qt QPoint bản đồ toàn cầu/cục bộ
- 28. Cột văn bản phải được di chuyển về phía cuối?
- 29. Cách tạo hộp văn bản trống ở mã phía sau
- 30. Cách chèn Biểu tượng (Bảng Anh, Euro, Bản quyền) vào Hộp văn bản
@Lundin Không sao. Đó là nỗ lực để cải thiện bài đăng. Tôi nghĩ rằng sự nhấn mạnh của tên lớp là ý tưởng tốt. Ngoài ra tôi đã chọn những từ quan trọng nhất trong bài đăng để làm cho chúng dễ nắm bắt. – fat
@fat Định dạng tên lớp hoặc mã rõ ràng khác là tốt, nhưng không cần phải thêm nhấn mạnh vào các từ ngẫu nhiên. – Lundin