5 # include <ActiveQt/QAxWidget>
8 # if TTK_QT_VERSION_CHECK(5,0,0)
9 # include <QtWebKitWidgets/QWebView>
10 # include <QtWebKitWidgets/QWebFrame>
12 # include <QtWebKit/QWebView>
13 # include <QtWebKit/QWebFrame>
15 # elif defined TTK_WEBENGINE
16 # include <QtWebEngineWidgets/QWebEngineView>
17 # include <QtWebEngineWidgets/QWebEngineSettings>
24 #include <QPushButton>
25 #include <QButtonGroup>
43 m_buttonGroup(nullptr)
64 QWebSettings *settings = QWebSettings::globalSettings();
65 settings->setAttribute(QWebSettings::PluginsEnabled,
true);
66 settings->setAttribute(QWebSettings::JavascriptEnabled,
true);
67 settings->setAttribute(QWebSettings::DeveloperExtrasEnabled,
true);
68 settings->setAttribute(QWebSettings::JavascriptCanOpenWindows,
true);
69 # elif defined TTK_WEBENGINE
70 QWebEngineSettings *settings = QWebEngineSettings::defaultSettings();
71 settings->setAttribute(QWebEngineSettings::PluginsEnabled,
true);
72 settings->setAttribute(QWebEngineSettings::JavascriptEnabled,
true);
73 settings->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows,
true);
95 w->dynamicCall(
"Navigate(const QString&)", url);
104 # elif defined TTK_WEBENGINE
105 QWebEngineView *w =
TTKObjectCast(QWebEngineView*, d->m_webView);
129 # elif defined TTK_WEBENGINE
130 QWebEngineView *w =
TTKObjectCast(QWebEngineView*, d->m_webView);
190 QAxWidget *view =
new QAxWidget(
this);
191 view->setWindowFlags(Qt::FramelessWindowHint);
192 view->setMouseTracking(
false);
193 view->setControl(
"{8856F961-340A-11D0-A96B-00C04FD705A2}");
194 view->setObjectName(
"WebWidget");
195 view->setFocusPolicy(Qt::StrongFocus);
196 view->setProperty(
"DisplayAlerts",
false);
197 view->setProperty(
"DisplayScrollBars",
false);
198 view->setProperty(
"Silent",
true);
202 QWebView *view =
new QWebView(
this);
203 view->page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff);
204 view->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
206 # elif defined TTK_WEBENGINE
207 QWebEngineView *view =
new QWebEngineView(
this);
216 QVBoxLayout *layout =
new QVBoxLayout(
this);
217 layout->setSpacing(0);
218 layout->setContentsMargins(0, 0, 0, 0);
219 #if defined TTK_WEBKIT || defined TTK_WEBENGINE
220 d->m_topWidget =
new QWidget(
this);
221 d->m_topWidget->setFixedHeight(25);
223 QHBoxLayout *topLayout =
new QHBoxLayout(d->m_topWidget);
224 topLayout->setContentsMargins(0, 0, 0, 0);
225 topLayout->setSpacing(25);
227 d->m_buttonGroup =
new QButtonGroup(
this);
228 QPushButton *bt =
new QPushButton(tr(
" SongRecommend "), d->m_topWidget);
229 bt->setCursor(QCursor(Qt::PointingHandCursor));
230 d->m_buttonGroup->addButton(bt, 0);
231 bt =
new QPushButton(tr(
" SongRank "), d->m_topWidget);
232 bt->setCursor(QCursor(Qt::PointingHandCursor));
233 d->m_buttonGroup->addButton(bt, 1);
234 bt =
new QPushButton(tr(
" SongSinger "), d->m_topWidget);
235 bt->setCursor(QCursor(Qt::PointingHandCursor));
236 d->m_buttonGroup->addButton(bt, 2);
237 bt =
new QPushButton(tr(
" SongCategory "), d->m_topWidget);
238 bt->setCursor(QCursor(Qt::PointingHandCursor));
239 d->m_buttonGroup->addButton(bt, 3);
242 topLayout->addStretch(1);
243 topLayout->addWidget(d->m_buttonGroup->button(0));
244 topLayout->addWidget(d->m_buttonGroup->button(1));
245 topLayout->addWidget(d->m_buttonGroup->button(2));
246 topLayout->addWidget(d->m_buttonGroup->button(3));
247 topLayout->addStretch(1);
250 d->m_buttonGroup->button(0)->setFocusPolicy(Qt::NoFocus);
251 d->m_buttonGroup->button(1)->setFocusPolicy(Qt::NoFocus);
252 d->m_buttonGroup->button(2)->setFocusPolicy(Qt::NoFocus);
253 d->m_buttonGroup->button(3)->setFocusPolicy(Qt::NoFocus);
257 layout->addWidget(d->m_topWidget);
258 layout->addWidget(d->m_webView);
262 QLabel *pix =
new QLabel(
this);
263 pix->setAlignment(Qt::AlignCenter);
264 pix->setStyleSheet(
"background:white;");
265 pix->setPixmap(QPixmap(
":/image/lb_no_module"));
266 layout->addWidget(pix);
274 QVBoxLayout *layout =
new QVBoxLayout(
this);
275 layout->setSpacing(0);
276 layout->setContentsMargins(0, 0, 0, 0);
277 #if defined TTK_WEBKIT || defined TTK_WEBENGINE
278 d->m_topWidget =
new QWidget(
this);
279 d->m_topWidget->setFixedHeight(25);
281 QHBoxLayout *topLayout =
new QHBoxLayout(d->m_topWidget);
282 topLayout->setContentsMargins(0, 0, 0, 0);
283 topLayout->setSpacing(50);
285 d->m_buttonGroup =
new QButtonGroup(
this);
286 QPushButton *bt =
new QPushButton(tr(
" RadioPublic "), d->m_topWidget);
287 bt->setCursor(QCursor(Qt::PointingHandCursor));
288 d->m_buttonGroup->addButton(bt, 0);
289 bt =
new QPushButton(tr(
" RadioHigh "), d->m_topWidget);
290 bt->setCursor(QCursor(Qt::PointingHandCursor));
291 d->m_buttonGroup->addButton(bt, 1);
294 topLayout->addStretch(1);
295 topLayout->addWidget(d->m_buttonGroup->button(0));
296 topLayout->addWidget(d->m_buttonGroup->button(1));
297 topLayout->addStretch(1);
300 d->m_buttonGroup->button(0)->setFocusPolicy(Qt::NoFocus);
301 d->m_buttonGroup->button(1)->setFocusPolicy(Qt::NoFocus);
305 layout->addWidget(d->m_topWidget);
306 layout->addWidget(d->m_webView);
310 QLabel *pix =
new QLabel(
this);
311 pix->setAlignment(Qt::AlignCenter);
312 pix->setStyleSheet(
"background:white;");
313 pix->setPixmap(QPixmap(
":/image/lb_no_module"));
314 layout->addWidget(pix);
322 QVBoxLayout *layout =
new QVBoxLayout(
this);
323 layout->setSpacing(0);
324 layout->setContentsMargins(0, 0, 0, 0);
325 #if defined TTK_WEBKIT || defined TTK_WEBENGINE
327 layout->addWidget(d->m_webView);
331 # ifdef TTK_WEBENGINE
339 QLabel *pix =
new QLabel(
this);
340 pix->setAlignment(Qt::AlignCenter);
341 pix->setStyleSheet(
"background:white;");
342 pix->setPixmap(QPixmap(
":/image/lb_no_module"));
343 layout->addWidget(pix);
351 QVBoxLayout *layout =
new QVBoxLayout(
this);
352 layout->setSpacing(0);
353 layout->setContentsMargins(0, 0, 0, 0);
354 #if defined TTK_WEBKIT || defined TTK_WEBENGINE
355 d->m_topWidget =
new QWidget(
this);
356 d->m_topWidget->setFixedHeight(25);
358 QHBoxLayout *topLayout =
new QHBoxLayout(d->m_topWidget);
359 topLayout->setContentsMargins(0, 0, 0, 0);
360 topLayout->setSpacing(50);
362 d->m_buttonGroup =
new QButtonGroup(
this);
363 QPushButton *bt =
new QPushButton(tr(
" MVRadio "), d->m_topWidget);
364 bt->setCursor(QCursor(Qt::PointingHandCursor));
365 d->m_buttonGroup->addButton(bt, 0);
366 bt =
new QPushButton(tr(
" MVRecommend "), d->m_topWidget);
367 bt->setCursor(QCursor(Qt::PointingHandCursor));
368 d->m_buttonGroup->addButton(bt, 1);
371 topLayout->addStretch(1);
372 topLayout->addWidget(d->m_buttonGroup->button(0));
373 topLayout->addWidget(d->m_buttonGroup->button(1));
374 topLayout->addStretch(1);
377 d->m_buttonGroup->button(0)->setFocusPolicy(Qt::NoFocus);
378 d->m_buttonGroup->button(1)->setFocusPolicy(Qt::NoFocus);
382 layout->addWidget(d->m_topWidget);
383 layout->addWidget(d->m_webView);
387 QLabel *pix =
new QLabel(
this);
388 pix->setAlignment(Qt::AlignCenter);
389 pix->setStyleSheet(
"background:white;");
390 pix->setPixmap(QPixmap(
":/image/lb_no_module"));
391 layout->addWidget(pix);
399 QVBoxLayout *layout =
new QVBoxLayout(
this);
400 layout->setSpacing(0);
401 layout->setContentsMargins(0, 0, 0, 0);
402 #if defined TTK_WEBKIT || defined TTK_WEBENGINE
404 layout->addWidget(d->m_webView);
408 QLabel *pix =
new QLabel(
this);
409 pix->setAlignment(Qt::AlignCenter);
410 pix->setStyleSheet(
"background:white;");
411 pix->setPixmap(QPixmap(
":/image/lb_no_module"));
412 layout->addWidget(pix);
420 const QList<QAbstractButton*> &buttons = d->m_buttonGroup->buttons();
421 for(
int i = 0; i < buttons.count(); ++i)
static QString makeSongRankUrl()
static QString makeRadioHighFmUrl()
void kugouRadioIndexChanged(int index)
void createKugouSingleWidget()
static QString makeMVRadioUrl()
static const QString PushButtonStyle01
PushButton.
static const QString WidgetStyle01
Widget.
void createKugouListWidget()
void createKugouRadioWidget()
QButtonGroup * m_buttonGroup
static const QString PushButtonStyle02
static QString makeSongCategoryUrl()
QKugouWindow(Module type, QWidget *parent=nullptr)
static QString makeSongSingerUrl()
The class of the kugou window widget.
void kugouSongIndexChanged(int index)
#define TTK_SIGNLE_SHOT(...)
static QString makeListUrl()
static QString makeRadioPublicUrl()
#define QtButtonGroupConnect(p, q, f, s)
Button group connect.
static QString makeKuiSheUrl()
The class of the kugou window widget private.
void createKugouMovieWidget()
static QString makeSongRecommendUrl()
static QString makeMVRecommendUrl()
void changeClickedButtonStyle(int index)
#define TTK_INIT_PRIVATE(Class)
The class of the ttk private base.
void setUrl(const QString &url)
void createKugouSongWidget()
#define TTKObjectCast(x, y)
void kugouMVIndexChanged(int index)