还是一堆bug的状态

This commit is contained in:
2026-08-01 20:09:45 +08:00
parent 0df7beda49
commit 8fb9683182
294 changed files with 13678 additions and 10864 deletions
+36 -33
View File
@@ -1,39 +1,42 @@
#include "File_Dialog.h"
#include <QPainter>
namespace renderive {
File_Dialog::File_Dialog(QWidget* parent) : QWidget(parent) {
// setAttribute(Qt::WA_OpaquePaintEvent);
}
File_Dialog::~File_Dialog() {}
void File_Folder::draw(int index, QPainter* painter) {
static QImage file_folder = QImage(":fileFolder.png");
int x = 10 + 20 * deep;
int y = 10 + 30 * index;
// painter->drawImage(x, y, file_folder);
painter->drawImage(0, 0, file_folder);
painter->drawText(x + 20, y + 10, name);
}
void File_Dialog::paintEvent(QPaintEvent* event) {
QWidget::paintEvent(event);
QPainter painter(this);
int index = 0;
for (File_Folder*& root : roots) {
std::queue<File_Folder*> que;
root->deep = 0;
que.push(root);
while (!que.empty()) {
File_Folder* cur = que.front();
que.pop();
int n = cur->sons.size();
cur->draw(index++, &painter);
for (int i = 0; i < n; ++i) {
if (cur->is_show_sons) {
cur->sons[i]->deep = cur->deep + 1;
que.push(cur->sons[i]);
namespace Flex_Qt {
File_Dialog::File_Dialog(QWidget * parent) : QWidget(parent)
{
// setAttribute(Qt::WA_OpaquePaintEvent);
}
File_Dialog::~File_Dialog() {}
void File_Folder::draw(int index, QPainter* painter)
{
static QImage file_folder = QImage(":fileFolder.png");
int x = 10 + 20 * deep;
int y = 10 + 30 * index;
// painter->drawImage(x, y, file_folder);
painter->drawImage(0, 0, file_folder);
painter->drawText(x + 20, y + 10, name);
}
void File_Dialog::paintEvent(QPaintEvent* event)
{
QWidget::paintEvent(event);
QPainter painter(this);
int index = 0;
for (File_Folder*& root : roots) {
std::queue<File_Folder*> que;
root->deep = 0;
que.push(root);
while (!que.empty()) {
File_Folder* cur = que.front();
que.pop();
int n = cur->sons.size();
cur->draw(index++, &painter);
for (int i = 0; i < n; ++i) {
if (cur->is_show_sons) {
cur->sons[i]->deep = cur->deep + 1;
que.push(cur->sons[i]);
}
}
}
}
painter.end();
}
painter.end();
}
} // namespace renderive
} // Flex_Qt