logo
down
shadow

Change last line in QTextBrowser


Change last line in QTextBrowser

By : Salim Giunyet
Date : November 14 2020, 04:51 PM
it should still fix some issue Here is my solution, but mind you that it requires C++11 and Qt 5.4 at least to build and run. However, the concept is there that you can copy and paste out without using QTimer requiring those versions above:
main.cpp
code :
#include <QApplication>
#include <QTextBrowser>
#include <QTextCursor>
#include <QTimer>

int main(int argc, char **argv)
{
    QApplication application(argc, argv);
    int count = 1;
    QString string = QStringLiteral("Message a counter %1");
    QTextBrowser *textBrowser = new QTextBrowser();
    textBrowser->setText(string.arg(count));
    QTimer::singleShot(2000, [textBrowser, string, &count](){
        QTextCursor storeCursorPos = textBrowser->textCursor();
        textBrowser->moveCursor(QTextCursor::End, QTextCursor::MoveAnchor);
        textBrowser->moveCursor(QTextCursor::StartOfLine, QTextCursor::MoveAnchor);
        textBrowser->moveCursor(QTextCursor::End, QTextCursor::KeepAnchor);
        textBrowser->textCursor().removeSelectedText();
        textBrowser->textCursor().deletePreviousChar();
        textBrowser->setTextCursor(storeCursorPos);
        textBrowser->append(string.arg(++count));
    });
    textBrowser->show();
    return application.exec();
}
TEMPLATE = app
TARGET = main
QT += widgets
CONFIG += c++11
SOURCES += main.cpp
qmake && make && ./main


Share : facebook icon twitter icon
QTextBrowser line spacing after a wordwrap

QTextBrowser line spacing after a wordwrap


By : user1957626
Date : March 29 2020, 07:55 AM
I hope this helps . You should be able to achive this by setting an appropriate stylesheet.
Edit: I was mistaken with the initial reply -- setStyleSheet() works on the widget, not its contents. However, you can achieve the behaviour by formatting your text as HTML with stylesheet formatting, and then setting that as the text in your QTextBrowser. Example:
code :
QTextBrowser *browser = new QTextBrowser();
QString text;
text.append("<html><body>");
text.append("<style type='text/css'>p { margin-bottom:20px; }</style>");
// add the paragraphs here. If the input is plain text convert it to HTML paragraphs first.
text.append("<p>Paragraph 1</p>");
text.append("<p>Paragraph 2</b>");
text.append("</body></html>");
browser->setHtml(text);
Link to a line in a QTextBrowser

Link to a line in a QTextBrowser


By : Loca456
Date : March 29 2020, 07:55 AM
QTextBrowser: How to highlight a clicked line

QTextBrowser: How to highlight a clicked line


By : Ranjeet kumar
Date : March 29 2020, 07:55 AM
will help you Your code doesn't even compile. It uses QBlockFormat class that doesn't exist and cur.selection with invalid argument. Did you just type it out of your head? Anyway, why don't you use LineUnderCursor instead? The following code works fine for me:
code :
void MainWindow::on_textBrowser_cursorPositionChanged() {
  QTextCursor cur = ui->textBrowser->textCursor();
  QTextBlockFormat f;
  f.setBackground(Qt::red);
  cur.select(QTextCursor::LineUnderCursor);
  cur.setBlockFormat(f);
  ui->textBrowser->setTextCursor(cur);
}
Qt - change the text of QTextBrowser inside GridLayout

Qt - change the text of QTextBrowser inside GridLayout


By : IshanMeh
Date : March 29 2020, 07:55 AM
may help you . Use setText() or append() to do this, but your way to get pointer is not very good. You should operate with original pointer. For example
code :
QTextBrowser txt;
grid.addWidget(&txt,...);
//...
txt.append("example");//we just use object, we don't get this object from layout
(qobject_cast<QTextBrowser*>(grid.itemAtPosition(0,0)->widget()))->append("example");//is it so beautiful?
How to move the cursor of a QTextBrowser(with an html table in it) to a specific line in PyQt5?

How to move the cursor of a QTextBrowser(with an html table in it) to a specific line in PyQt5?


By : Adélka Rožnovská
Date : March 29 2020, 07:55 AM
like below fixes the issue After some trying, I discovered that QTextBrowser seems to treat each td tag as a new line.
So, instead of using
code :
cursor = QTextCursor(self.document().findBlockByLineNumber(line_num))
self.setTextCursor(cursor)
cursor = QTextCursor(self.document().findBlockByLineNumber(line_num * td_num))
self.setTextCursor(cursor)
Related Posts Related Posts :
  • How to wrap std::chrono in a c++ iterator type
  • Check if a socket is connected in mac os x
  • Grabbing the mouse cursor in GLFW
  • Calling Windows shell menu (same as right-click in Explorer) for multiple files programmatically
  • Pop up dialog to save file in seperate thread
  • Why would you use the keyword const if you already know variable should be constant?
  • Detecting Small Sound Effects In C++
  • How to avoid the copy when I return
  • Getting error code C2228: left of '._Ptr' must have class/struct/union
  • In win32 C++ programming how can I duplicate a window style?
  • Should the order of import statements matter when importing a .so?
  • Design decision regarding std::array fill
  • Access array of C++ structs from Fortran?
  • Determining when functions allocate memory in C++
  • C++ using std::set remove duplicate item for a struct fail.
  • Code to find out the number of triplets which lead to a sum less than or equal to threshold is giving a wrong output
  • Converting glm::lookat matrix to quaternion and back
  • Searching multi-dimensional vectors
  • Send and receive via SOCKS5 c++
  • GDI+: unhandled exception when drawing bitmap
  • Editing other processes memory
  • Object deleted when its member function is being executed?
  • Infinite Loop while inputting the different data type values in STACK
  • const members and operator=
  • Threaded Video Player sync
  • Does infinite of floating point number satisfy these equation?
  • map sorting in c++ by the frequencies
  • The Preprocessor program linked in g++ similar to the cpp program in gcc
  • How is the union used in this OpenCV library?
  • C++ memory leak in recursion
  • C++ Error: C4430 and C2143 Error at an impossible place
  • How can I track object lifetime in C++11 lambda?
  • #include statement mapping in Biicode (biicode.conf)
  • std::equal gives "Term doesnt evaluate to a function taking 2 arguments"
  • C++ template argument as reference lvalue
  • Legal to forward declare C standard library entities but not C++ standard library entities?
  • Conversion of wchar_t* to string
  • VirtualTreeView - Embarcadero C++ Builder XE7 - 64 bits
  • I don't understand C++ pointer arithmetic
  • Invalid addition of constness? Error: Cannot use char** to initialize const char**
  • Initilize constructor of class from another class
  • what happens when a class object is used as an index for an array?
  • Read and straighten multiple images from vector string, get error: "vector subscript out of range" [c++]
  • Meaning of a few lines in C++
  • Map, pair-vector or two vectors...?
  • Redefinition error in ostream overload in template and inherited classes
  • CUDA 6.5: error MSB3191 Unable to create directory and LNK2001 Unresolved External symbol
  • Is it possible to overlap batched FFTs with CUDA's cuFFT library and cufftPlanMany?
  • How to delete function from DLL binary
  • How do I loop over a boost MPL list of non-default constructed classes?
  • Download page using IE engine + use POST
  • How to insert an element into ublas matrix with dynamic size
  • Using typedefs appropriately to avoid "typedef contamination"
  • C++ Simple Converting from Binary to Decimal
  • error deleting item from list after passing through function
  • C++: RVO, NRVO and returning local objects
  • performance map c++ find (g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3))
  • How to change the fundamental underlying container type for the adaptor containers?
  • Crash when SAFE_RELEASE is called on IMMDeviceEnumerator
  • Visual Studio C++, how to change the text color for "nullptr"
  • shadow
    Privacy Policy - Terms - Contact Us © ourworld-yourmove.org