#include "mainwindow.h" #include "tiercard.hpp" #include "tierrow.hpp" #include "tiercardlayout.hpp" #include "utils.hpp" #include "rowholder.hpp" #include #include #include #include #include #include #include // int main(int argc, char *argv[]) // { // QApplication a(argc, argv); // // MainWindow w; // // w.show(); // TierCard card; // // card.setGeometry(0, 0, 200, 200); // card.setFixedSize(200, 200); // card.set_text("SOME TEXT"); // card.set_bg_color(QColor(255, 255, 255)); // card.show(); // QNetworkAccessManager qnam; // QNetworkRequest req(QUrl("https://upload.wikimedia.org/wikipedia/en/4/4d/Shrek_%28character%29.png")); // auto resp = qnam.get(req); // QObject::connect(resp, &QNetworkReply::finished, [&card, resp]() // { // QImageReader reader(resp); // reader.setAutoDetectImageFormat(true); // QPixmap image = QPixmap::fromImageReader(&reader); // card.set_image(image); // }); // int fontSize = 10; // QColor bg_switcher(255, 128, 128); // QTimer bg_changer; // bg_changer.setTimerType(Qt::PreciseTimer); // bg_changer.setSingleShot(false); // bg_changer.setInterval(1000); // QObject::connect(&bg_changer, &QTimer::timeout, [&card, &bg_switcher, &fontSize, &a]() // { // card.set_bg_color(bg_switcher); // a.setStyleSheet(QString("*[cssClass=\"tierCardText\"]{font-size: %1pt}").arg(fontSize)); // bg_switcher = QColor(bg_switcher.green(), bg_switcher.blue(), bg_switcher.red()); // fontSize+=3; // }); // bg_changer.start(); // return a.exec(); // } int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; // QDockWidget dock; QScrollArea scroll; TierRow* row = TierRow::create(); row->setColor(QColor(255, 128, 64)); row->setText("Row Title"); TierCard* card1 = TierCard::create(); row->setStyleSheet(makeBgColorString(QColor(35,35,35))); card1->setText("CARD1"); card1->setBgColor(QColor(64,255,64)); card1->setFixedSize(150,150); TierCard* card2 = TierCard::create(); card2->setText("CARD2"); card2->setBgColor(QColor(64,64,255)); card2->setFixedSize(150,150); row->addCard(card1); row->addCard(card2); TierRow* row2 = TierRow::create(); row2->setColor(QColor(128, 128, 255)); row2->setText("Row Title"); TierCard* card3 = TierCard::create(); card3->setText("CARD1"); card3->setBgColor(QColor(64,12,164)); card3->setFixedSize(150,150); TierCard* card4 = TierCard::create(); card4->setText("CARD2"); card4->setBgColor(QColor(164,64,155)); card4->setFixedSize(150,150); auto card5 = TierCard::clone(card4); card5->setFixedSize(150,150); row->addCard(card5); row2->addCard(card3); row2->addCard(card4); // row.show(); RowHolder holder; holder.setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Fixed); // auto holderLayout = new QVBoxLayout(); holder.addRow(row); holder.addRow(row2); scroll.setWidget(&holder); scroll.setWidgetResizable(true); // dock.setWidget(&scroll); // w.dockWidgetArea(&dock); w.setCentralWidget(&scroll); w.show(); w.setStyleSheet(a.styleSheet() .append("#tierCardText {" " font-style: bold;" " font-size: 52; }") .append("#tierCardId {" " font-size: 24; }")); // a.setFont() // QTimer bg_changer; // bg_changer.setTimerType(Qt::PreciseTimer); // bg_changer.setSingleShot(false); // bg_changer.setInterval(1000); // QObject::connect(&bg_changer, &QTimer::timeout, [&row]() // { // row.updateGeometry(); // }); // bg_changer.start(); // w.show(); // callOnMeAndChildren(&row, [](TierRow* obj) // { // auto wid = dynamic_cast(obj); // if (wid) // { // auto size = wid->minimumSize(); // if (std::max(size.height(), size.width()) >= 200) // { // qDebug() << wid->objectName() << ": " << size; // } // } // }); // qDebug() << row.minimumSize() << row.layout()->minimumSize(); return a.exec(); }