[Qt] Kilka operacji na jednym QTextEdit
Ostatnio zmodyfikowano 2014-06-01 14:55
maniek1310 Temat założony przez niniejszego użytkownika |
[Qt] Kilka operacji na jednym QTextEdit » 2014-05-13 19:00:17 Witam, mam pewien problem. A więc tak, mam QTextEdit i w nim będę wklejał linki do stron, każdy link w nowej linijce. I teraz chcę aby po kliknięciu na przycisk uruchamiał tą stronę. Wszystko mam zrobionę, gdy wkleję jeden link to działa prawidłowo. Problem pojawia się jak wkleję więcej niż jeden link. Nie wiem jak zrobić, aby każdy po kolei uruchamiał. Środowisko w którym programuje to Qt 5.2 |
|
MrPoxipol |
» 2014-05-13 19:50:33 Masz stringa w wielu linijkach (kończy się '\n'), więc wczytuj z niego po linijce i otwieraj strony. string input = "https://google.com\n\ http://cpp0x.pl\n\ http://warsztat.gd";
string buffor; istringstream is( input ); while( getline( is, buffor ) ) { cout << "Url to open: " << buffor << endl; }
Url to open: https://google.com Url to open: http://cpp0x.pl Url to open: http://warsztat.gd |
|
maniek1310 Temat założony przez niniejszego użytkownika |
» 2014-05-13 21:12:57 Ok, teraz tylko zamienię to na Qt i powinno działać. Dzięki za pomoc. |
|
maniek1310 Temat założony przez niniejszego użytkownika |
» 2014-06-01 14:55:30 Zrobiłem tak jak pisałeś ale teraz sprawdza tylko jeden link (ten ostatni). mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H
#include <QMainWindow> #include <QUrl> #include <Qstring> #include <QWebFrame> #include <QWebView> #include <QWebElement> #include <QWebElementCollection> #include <QDebug> #include <string> #include <QTableWidgetItem> #include <QHeaderView> #include <sstream>
using namespace std;
namespace Ui { class MainWindow; }
class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow( QWidget * parent = 0 ); QWebView * qwv = new QWebView(); ~MainWindow(); private slots: void lnk_turbobit(); void lnk_rapidgator(); void lnk_catshare(); void on_pushButton_clicked(); void finished( bool ); private: Ui::MainWindow * ui; QUrl lnk; unsigned int licznik = - 1; unsigned int width = 0; unsigned int width2 = 0; };
#endif
mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include "load.h"
MainWindow::MainWindow( QWidget * parent ) : QMainWindow( parent ) , ui( new Ui::MainWindow ) { ui->setupUi( this ); }
MainWindow::~MainWindow() { delete ui; }
void MainWindow::on_pushButton_clicked() { QString rep_lnk = ui->textEdit->toPlainText(); string buffor; istringstream is( rep_lnk.toStdString() ); unsigned int j = 0; while( getline( is, buffor ) ) { QString rep_lnk2 = buffor.c_str(); rep_lnk2.replace( " ", "" ); rep_lnk2.replace( "\n", "" ); qDebug() << rep_lnk2; lnk = rep_lnk2; qwv->setUrl( lnk ); ui->label->setText( "Sprawdzanie linków" ); connect( qwv, SIGNAL( loadFinished( bool ) ), this, SLOT( finished( bool ) ) ); } licznik++; }
void MainWindow::finished( bool ) { ui->label->setText( "Zakończono sprawdzanie linków" ); QString file; unsigned int n; file = lnk.toString(); n = file.toStdString().find( "turbobit" ); if( n != string::npos ) lnk_turbobit(); n = file.toStdString().find( "rapidgator" ); if( n != string::npos ) lnk_rapidgator(); n = file.toStdString().find( "catshare" ); if( n != string::npos ) lnk_catshare(); }
...
|
|
« 1 » |