Advertisement
Guest User

Untitled

a guest
Sep 30th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. #include <QtWidgets>
  2. #include "mainwindow.h"
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6. QApplication a(argc, argv);
  7.  
  8. MainWindow * mainWnd = new MainWindow();
  9. mainWnd -> show();
  10.  
  11. return a.exec();
  12. }
  13.  
  14. #ifndef MAINWINDOW_H
  15. #define MAINWINDOW_H
  16.  
  17. #include <QMainWindow>
  18. #include <QMenuBar>
  19. #include <QMenu>
  20. #include <QPushButton>
  21. #include <QLineEdit>
  22. #include <QComboBox>
  23. #include <QLayout>
  24. #include <QHBoxLayout>
  25. #include <qtwebenginewidgetsglobal.h>
  26. #include <QWebEngineView>
  27.  
  28. class MainWindow : public QWidget
  29. {
  30. Q_OBJECT
  31. public:
  32. explicit MainWindow(QWidget *parent = 0);
  33. ~MainWindow();
  34.  
  35. private:
  36. void createMenu();
  37. void createUrlBar();
  38. void createBrowserWindow();
  39.  
  40. void loadHomepage();
  41. void loadUrl (QUrl);
  42.  
  43. void applyLayouts();
  44.  
  45. QMenuBar * menuBar;
  46. QMenu * menuFile, * menuFile2;
  47.  
  48. QWidget * barWidget;
  49. QPushButton * barNextBut,* barBackBut, * barRefreshBut, * barEnterBut;
  50. QLineEdit * barUrlEdit;
  51. QComboBox * barSelectCB;
  52.  
  53. QWebEngineView * browserWidget;
  54.  
  55. QHBoxLayout * barLayout;
  56. QVBoxLayout * mainLayout;
  57.  
  58. signals:
  59.  
  60. public slots:
  61. };
  62.  
  63. #endif // MAINWINDOW_H
  64.  
  65. #include "mainwindow.h"
  66.  
  67. MainWindow::MainWindow(QWidget * parent)
  68. {
  69.  
  70. this -> setMinimumSize (1100, 600);
  71.  
  72. createMenu();
  73. createUrlBar();
  74. createBrowserWindow();
  75.  
  76. applyLayouts();
  77.  
  78. loadHomepage();
  79.  
  80. }
  81.  
  82. void MainWindow::createMenu()
  83. {
  84.  
  85. menuBar = new QMenuBar();
  86. menuFile = new QMenu("File");
  87. menuFile2 = new QMenu("File2");
  88. menuFile -> addMenu (menuFile2);
  89. menuBar -> addMenu (menuFile);
  90.  
  91. }
  92.  
  93. void MainWindow::createUrlBar()
  94. {
  95.  
  96. //Контейнер;
  97. barWidget = new QWidget(this);
  98. barWidget -> setContextMenuPolicy(Qt::NoContextMenu);
  99. barWidget -> setMaximumHeight(30);
  100.  
  101. //Кнопки;
  102. barNextBut = new QPushButton(">");
  103. barBackBut = new QPushButton("<");
  104. barRefreshBut = new QPushButton("R");
  105. barEnterBut = new QPushButton("->");
  106. barNextBut -> setMaximumSize(21, 21);
  107. barBackBut -> setMaximumSize(21, 21);
  108. barRefreshBut -> setMaximumSize(21, 21);
  109. barEnterBut -> setMaximumSize(21, 21);
  110.  
  111. barUrlEdit = new QLineEdit(barWidget); //Падает здесь;
  112. barUrlEdit -> setMinimumSize(256, 21);
  113. barUrlEdit -> setMaximumHeight(21);
  114.  
  115. barSelectCB = new QComboBox(barWidget);
  116. barSelectCB -> setMinimumSize(256, 21);
  117. barSelectCB -> setMaximumSize(256, 21);
  118.  
  119. }
  120.  
  121. void MainWindow::createBrowserWindow()
  122. {
  123.  
  124. browserWidget = new QWebEngineView(this);
  125.  
  126. }
  127.  
  128. void MainWindow::loadHomepage()
  129. {
  130.  
  131. QUrl * url = new QUrl("http://google.ru");
  132. loadUrl(*url);
  133. delete(url);
  134.  
  135. }
  136.  
  137. void MainWindow::loadUrl (QUrl url)
  138. {
  139.  
  140. browserWidget -> load(url);
  141.  
  142. }
  143.  
  144. void MainWindow::applyLayouts ()
  145. {
  146.  
  147. barLayout = new QHBoxLayout();
  148. barLayout -> setContentsMargins(0,0,0,0);
  149. barLayout -> addWidget(barSelectCB);
  150. barLayout -> addWidget(barBackBut);
  151. barLayout -> addWidget(barNextBut);
  152. barLayout -> addWidget(barUrlEdit);
  153. barLayout -> addWidget(barRefreshBut);
  154. barLayout -> addWidget(barEnterBut);
  155. barWidget -> setLayout(barLayout);
  156.  
  157. mainLayout = new QVBoxLayout();
  158. mainLayout -> setDirection(QBoxLayout::TopToBottom);
  159. mainLayout -> setMenuBar(menuBar);
  160. mainLayout -> addWidget (barWidget);
  161. mainLayout -> addWidget (browserWidget);
  162. setLayout(mainLayout);
  163.  
  164. }
  165.  
  166. QT += widgets
  167. QT += webenginewidgets
  168.  
  169. HEADERS = mainwindow.h
  170. SOURCES = main.cpp
  171. mainwindow.cpp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement