14 QHeaderView *headerView = horizontalHeader();
15 headerView->resizeSection(0, 10);
16 headerView->resizeSection(1, 40);
17 headerView->resizeSection(2, 315);
18 headerView->resizeSection(3, 90);
19 headerView->resizeSection(4, 105);
20 headerView->resizeSection(5, 110);
41 QHeaderView *headerView = horizontalHeader();
44 for(
int i = 0; i < rowCount(); ++i)
46 QTableWidgetItem *it = item(i, 2);
53 if(column == 2 || column == 3)
55 setCursor(QCursor(Qt::PointingHandCursor));
69 if(row < 0 || row >= items.count())
84 const int index = rowCount();
85 setRowCount(index + 1);
88 QHeaderView *headerView = horizontalHeader();
89 QTableWidgetItem *item =
new QTableWidgetItem;
90 setItem(index, 0, item);
92 item =
new QTableWidgetItem;
93 item->setIcon(QPixmap(
":/image/lb_default_art"));
94 setItem(index, 1, item);
96 item =
new QTableWidgetItem;
97 item->setToolTip(data.
m_name);
98 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(2) - 31));
101 setItem(index, 2, item);
106 setItem(index, 3, item);
108 item =
new QTableWidgetItem(tr(
"Played %1").arg(data.
m_count));
111 setItem(index, 4, item);
113 item =
new QTableWidgetItem(data.
m_time);
116 setItem(index, 5, item);
121 connect(d, SIGNAL(downLoadRawDataChanged(QByteArray)), SLOT(
downLoadFinished(QByteArray)));
141 QTableWidgetItem *it = item(d->
header(
"id").toInt(), 1);
145 pix.loadFromData(bytes);
156 QVBoxLayout *layout =
new QVBoxLayout(
this);
157 layout->setContentsMargins(0, 0, 0, 0);
160 QWidget *top =
new QWidget(
this);
161 layout->addWidget(top);
162 QHBoxLayout *topLayout =
new QHBoxLayout(top);
163 topLayout->setContentsMargins(10, 20, 10, 0);
164 top->setLayout(topLayout);
167 QFont font = label->font();
168 font.setPixelSize(20);
170 label->setFont(font);
171 topLayout->addWidget(label);
173 QPushButton *backButton =
new QPushButton(tr(
"Back"),
this);
174 backButton->setFixedSize(90, 30);
176 backButton->setCursor(QCursor(Qt::PointingHandCursor));
177 connect(backButton, SIGNAL(clicked()), parent, SLOT(backToMainMenu()));
178 topLayout->addWidget(backButton);
179 layout->addWidget(top);
182 backButton->setFocusPolicy(Qt::NoFocus);
185 QFrame *line =
new QFrame(
this);
186 line->setFrameShape(QFrame::HLine);
188 layout->addWidget(line);
191 connect(
m_tableWidget, SIGNAL(programItemClicked(QString,QString)), parent, SLOT(programItemClicked(QString,QString)));
213 : QStackedWidget(parent),
214 m_recommendWidget(nullptr),
215 m_programWidget(nullptr),
216 m_queryWidget(nullptr)
218 setObjectName(className());
289 if(rid ==
"-1" && cid !=
"-1")
309 QWidget *w =
new QWidget(
this);
310 QVBoxLayout *layout =
new QVBoxLayout(w);
311 layout->setSpacing(15);
312 layout->setContentsMargins(30, 30, 30, 0);
313 w->setLayout(layout);
315 QWidget *top =
new QWidget(w);
316 layout->addWidget(top);
317 QHBoxLayout *topLayout =
new QHBoxLayout(top);
318 topLayout->setSpacing(35);
319 topLayout->setContentsMargins(0, 0, 0, 0);
320 top->setLayout(topLayout);
322 QWidget *leftTop =
new QWidget(top);
323 QHBoxLayout *leftTopLayout =
new QHBoxLayout(leftTop);
324 leftTopLayout->setSpacing(0);
325 leftTopLayout->setContentsMargins(0, 0, 0, 0);
327 QFont recommendFont = recommendLabel->font();
328 recommendFont.setPixelSize(20);
329 recommendFont.setBold(
true);
330 recommendLabel->setFont(recommendFont);
331 leftTopLayout->addWidget(recommendLabel);
332 leftTopLayout->addStretch(1);
338 leftTopLayout->addWidget(recommendMoreLabel);
339 topLayout->addWidget(leftTop);
341 QWidget *rightTop =
new QWidget(top);
342 QHBoxLayout *rightTopLayout =
new QHBoxLayout(rightTop);
343 rightTopLayout->setSpacing(0);
344 rightTopLayout->setContentsMargins(0, 0, 0, 0);
346 QFont programFont = programLabel->font();
347 programFont.setPixelSize(20);
348 programFont.setBold(
true);
349 programLabel->setFont(programFont);
350 rightTopLayout->addWidget(programLabel);
351 rightTopLayout->addStretch(1);
357 rightTopLayout->addWidget(programMoreLabel);
358 topLayout->addWidget(rightTop);
360 QFrame *line =
new QFrame(w);
361 line->setFrameShape(QFrame::HLine);
363 layout->addWidget(line);
The class of the search result data item.
virtual void startToRequest(const QString &url)=0
static const QString ColorStyle04
#define QtItemSetTextAlignment(p, a)
Item text alignment.
static constexpr unsigned int Color02
The class of the label widget that can click.
#define TTK_ITEM_SIZE_2XL
static const QString ScrollBarStyle03
static const QString PushButtonStyle03
const QVariant header(const QString &key) const
const MusicResultDataItemList & items() const
The class of the music dj radio program request.
static bool isCoverValid(const QString &url)
static const QString BackgroundStyle10
void setHeader(const QString &key, const QVariant &value)
void startToRequest(TTK::Program type)
static const QString ColorStyle11
#define G_DOWNLOAD_QUERY_PTR
The class of the cover data download request.
#define TTK_ERROR_STREAM(msg)
#define TTKObjectCast(x, y)