Làm thế nào để chương trình thanh cuộn để nhảy xuống dưới cùng/đầu trong trường hợp thay đổi trong QPlainTextEdit hoặc QTextEdit khu vực? Có vẻ như nó không có chức năng điều khiển.Làm thế nào để chương trình thanh cuộn để nhảy xuống dưới cùng/đầu trong trường hợp thay đổi trong QPlainTextEdit hoặc QTextEdit khu vực?
Trả lời
Khi điều chỉnh chỉnh sửa văn bản được đổi kích thước, QWidget::resizeEvent
được gọi. Bạn chỉ cần ghi đè hàm này trong lớp con của mình và gọi verticalScrollBar -> setValue (verticalScrollBar -> minimum())
(hoặc maximum()
).
Cảm ơn bạn đã trả lời! Tôi muốn phát triển một chương trình khách hàng đầu cuối cho một máy chủ đặc biệt. Có một hộp kiểm mà bạn có thể khóa/mở khóa màn hình. Nếu nó được mở khóa, sau đó xử lý các gói tin được gửi đến QPlainTextBox sẽ tự động buộc thanh cuộn ở phía dưới (bất kể vị trí con trỏ). Giải pháp của bạn có vẻ đầy hứa hẹn. Tôi sẽ cung cấp cho bạn một phản hồi sau ... Cảm ơn! – falconium
Bạn có thể sử dụng phương pháp 'ensureCursorVisible':
void QTextEdit::ensureCursorVisible() Ensures that the cursor is visible by scrolling the text edit if necessary.
Đây không phải là một khe cắm, mặc dù, vì vậy bạn không thể kết nối nó với bất kỳ tín hiệu - bạn sẽ phải tạo một cái gì đó chính mình mà bạn có thể kết nối với tín hiệu void textChanged().
Tuyên bố từ chối trách nhiệm: Tôi có thể đã hiểu sai câu hỏi của bạn - Tôi cho rằng bạn muốn cuộn xuống khi một số văn bản được thêm vào văn bản.
điều này nên được chấp nhận là câu trả lời đúng – warunanc
QTextEdit và QPlainTextEdit đều được thừa kế từ QAbstractScrollArea. Đối tượng QAbstractScrollArea cung cấp quyền truy cập vào thanh cuộn thông qua phương thức verticalScrollBar().
Vì vậy, để nhảy lên trên cùng:
ui.textEdit->verticalScrollBar()->setValue(0);
Và để nhảy xuống dưới:
ui.textEdit->verticalScrollBar()->setValue(ui.textEdit->verticalScrollBar()->maximum());
này nên làm việc cho cả QTextEdit và QPlainTextEdit.
Tôi đã bỏ lỡ câu trả lời của TonyK đã giải quyết được vấn đề. Câu trả lời của TonyK nên được chấp nhận. – d11
Ở đây tôi đang đăng giải pháp của mình như giải pháp dint ở trên trong trường hợp của tôi.
Tôi muốn lấy con trỏ ở đầu số QTextbrowser
.
Bằng cách sử dụng QTextEdit::setTextCursor, bạn có thể di chuyển con trỏ có thể nhìn thấy nơi bạn muốn:
// Go to beginning
QTextCursor textCursor = ui->textBrowser->textCursor();
textCursor.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor,1);
ui->textBrowser->setTextCursor(textCursor);
Hope, nó sẽ giúp cho một số một và tiết kiệm thời gian quý báu của họ.
Tôi đã thực hiện trong Pyqt.
self.scrollArea.verticalScrollBar(). RangeChanged.connect (self.change_scroll)
--------
@pyqtSlot(int, int)
def change_scroll(self, min, max):
print("cambio", min, max)
self.scrollArea.verticalScrollBar().setSliderPosition(max)
- 1. NSScrollView nhảy xuống dưới trên cuộn
- 2. Làm cách nào để nhận văn bản hiện tại từ tiện ích QTextEdit hoặc QPlainTextEdit?
- 3. Cursor không thay đổi để con trỏ trong trường hợp usemap/khu vực
- 4. Thay đổi một khu vực hoặc dòng trong các emacs
- 5. Làm thế nào để chuyển đổi các trường hợp chữ cái trong một khu vực trong emacs
- 6. Làm thế nào để vẽ trong khu vực nonclient?
- 7. QTextEdit thay đổi màu nền cũng là màu sắc của thanh cuộn
- 8. Làm thế nào để ẩn/thanh chương nav khi người dùng cuộn lên/xuống
- 9. làm thế nào để chương trình kéo và thả với snap vào khu vực trong Objective-C cho IOS
- 10. Xóa thanh cuộn khỏi ScrollView theo chương trình trong Android
- 11. Làm thế nào để phát hiện xem một listview đang cuộn lên hoặc xuống trong android?
- 12. Làm thế nào để hiện đang thực hiện khu vực?
- 13. Làm cách nào để cuộn một RichTextBox xuống dưới cùng?
- 14. đơn vị tăng trong khu vực cuộn/divs trong javascript?
- 15. Thay đổi kiểu thanh cuộn
- 16. Làm thế nào để làm cho LinearLayout trong scrollview để lấp đầy toàn bộ khu vực
- 17. Làm thế nào để làm cho khu vực vẽ Canvas trong suốt trong android?
- 18. Cuộn NSTextView xuống dưới
- 19. Làm thế nào để tắt thanh cuộn trong ScrolledForm?
- 20. Làm thế nào để tắt thanh cuộn ngang trong FlowLayoutPanel?
- 21. Làm thế nào để vẽ một khu vực của một bitmap với 'màu trắng trong suốt'?
- 22. Làm thế nào để bạn di chuyển một cam kết đến khu vực dàn trong git?
- 23. Làm thế nào để thay đổi trường hợp của chuỗi UTF-8 latin trong C++?
- 24. Làm thế nào để tìm các khu vực trong mảng hai chiều một cách hiệu quả?
- 25. Cuộn xuống dưới trong textarea với jQuery
- 26. Trong khu vực bộ nhớ nào là các trường hợp ngoại lệ được tạo ra?
- 27. làm thế nào để điền vào màu sắc trong hình ảnh trong khu vực cụ thể?
- 28. kết hợp phím thay thế để nhảy đến cuối dòng
- 29. Làm thế nào để thay đổi màu nền của hộp thoại theo chương trình?
- 30. Làm thế nào để thay đổi trường hoặc cập nhật nhanh trong MongoDB?
Chúng tôi có hai cách giải thích khác nhau! Bạn có muốn thay đổi văn bản hoặc thay đổi hình học không? – TonyK