测试适配效果ok1
parent
7e465c3ab4
commit
3daad474a6
93
Qss.cpp
93
Qss.cpp
|
@ -25,6 +25,12 @@
|
||||||
#include <QGraphicsDropShadowEffect>
|
#include <QGraphicsDropShadowEffect>
|
||||||
#include <QPainterPath>
|
#include <QPainterPath>
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
|
#include <QPushButton>
|
||||||
|
#include <QLineEdit>
|
||||||
|
#include <QComboBox>
|
||||||
|
#include <QDateTimeEdit>
|
||||||
|
#include <QMenu>
|
||||||
|
#include <QMenuBar>
|
||||||
|
|
||||||
#define QSSDIALOG_SHADOW_WIDTH 12
|
#define QSSDIALOG_SHADOW_WIDTH 12
|
||||||
#define QSSDIALOG_BODER_WIDTH 0
|
#define QSSDIALOG_BODER_WIDTH 0
|
||||||
|
@ -346,12 +352,20 @@ QssMainWindow::~QssMainWindow()
|
||||||
|
|
||||||
void QssMainWindow::AdapteDpi()
|
void QssMainWindow::AdapteDpi()
|
||||||
{
|
{
|
||||||
QObjectList child = this->children();
|
QObjectList child = this->m_frame->children();
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for(int i = 0;i < child.size();i++){
|
for(int i = 0;i < child.size();i++){
|
||||||
qDebug()<<child.at(i)->objectName() + " "
|
qDebug()<<child.at(i)->objectName() + " "
|
||||||
+ child.at(i)->metaObject()->className();
|
+ child.at(i)->metaObject()->className();
|
||||||
|
|
||||||
|
// QssTtitleBar
|
||||||
|
if(child.at(i)->objectName() =="qssTitleBar"){
|
||||||
|
QssTtitleBar *p = dynamic_cast<QssTtitleBar*>(child.at(i));
|
||||||
|
if(nullptr != p){
|
||||||
|
qDebug()<< p->sizePolicy();
|
||||||
|
p->setFixedHeight(p->height()*m_dpi_ratio);
|
||||||
|
}
|
||||||
|
}
|
||||||
if(child.at(i)->children().size() > 0){
|
if(child.at(i)->children().size() > 0){
|
||||||
this->rangeObjectList(child.at(i),i + 1);
|
this->rangeObjectList(child.at(i),i + 1);
|
||||||
}
|
}
|
||||||
|
@ -609,7 +623,9 @@ void QssMainWindow::dpiScaleChildren()
|
||||||
|
|
||||||
void QssMainWindow::detectDpi()
|
void QssMainWindow::detectDpi()
|
||||||
{
|
{
|
||||||
m_dpi_ratio = this->logicalDpiX() / 96;
|
int logicdpi = logicalDpiX();
|
||||||
|
m_dpi_ratio = this->logicalDpiX() / 96.0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void QssMainWindow::rangeObjectList(QObject *obj, int indent)
|
void QssMainWindow::rangeObjectList(QObject *obj, int indent)
|
||||||
|
@ -622,23 +638,84 @@ void QssMainWindow::rangeObjectList(QObject *obj, int indent)
|
||||||
for(int i = 0;i < child.size();i++){
|
for(int i = 0;i < child.size();i++){
|
||||||
qDebug()<<tmp + child.at(i)->objectName() + " " +
|
qDebug()<<tmp + child.at(i)->objectName() + " " +
|
||||||
child.at(i)->metaObject()->className();
|
child.at(i)->metaObject()->className();
|
||||||
if(child.at(i)->metaObject()->className() =="QAction"){
|
|
||||||
QAction *p = dynamic_cast<QAction*>(child.at(i));
|
|
||||||
if(nullptr != p){
|
|
||||||
|
|
||||||
|
|
||||||
|
if(child.at(i)->metaObject()->className() =="QssTtitleBar"){
|
||||||
|
QssTtitleBar *p = dynamic_cast<QssTtitleBar*>(child.at(i));
|
||||||
|
if(nullptr != p){
|
||||||
|
p->setMinimumSize(p->width()*m_dpi_ratio,
|
||||||
|
p->height()*m_dpi_ratio);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(child.at(i)->metaObject()->className() =="QMenuBar"){
|
||||||
|
QMenuBar *p = dynamic_cast<QMenuBar*>(child.at(i));
|
||||||
|
if(nullptr != p){
|
||||||
|
p->setMinimumSize(p->width()*m_dpi_ratio,
|
||||||
|
p->height()*m_dpi_ratio);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
|
||||||
|
}
|
||||||
|
if(child.at(i)->metaObject()->className() =="QDateTimeEdit"){
|
||||||
|
QDateTimeEdit *p = dynamic_cast<QDateTimeEdit*>(child.at(i));
|
||||||
|
if(nullptr != p){
|
||||||
|
p->setMinimumSize(p->minimumHeight()*m_dpi_ratio,
|
||||||
|
p->minimumHeight()*m_dpi_ratio);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if(strcmp(child.at(i)->metaObject()->className(),"QLabel") == 0){
|
if(strcmp(child.at(i)->metaObject()->className(),"QLabel") == 0){
|
||||||
QLabel *p = dynamic_cast<QLabel*>(child.at(i));
|
QLabel *p = dynamic_cast<QLabel*>(child.at(i));
|
||||||
if(nullptr != p){
|
if(nullptr != p){
|
||||||
p->setFixedHeight(p->height()*this->m_dpi_ratio);
|
qDebug()<< "parent is "
|
||||||
|
<< p->parent()->metaObject()->className();
|
||||||
|
|
||||||
|
if(p->parent() != nullptr){
|
||||||
|
QWidget *wparent = dynamic_cast<QWidget*> (p->parent());
|
||||||
|
if(nullptr != wparent){
|
||||||
|
if(nullptr != wparent->layout()){
|
||||||
|
qDebug()<< "index of label in layout is "
|
||||||
|
<<wparent->layout()->indexOf(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
QFont pf = p->font();
|
||||||
|
pf.setPointSize(pf.pointSize()*this->m_dpi_ratio);
|
||||||
|
p->setFont(pf);
|
||||||
|
p->setMinimumSize(p->minimumHeight()*m_dpi_ratio,
|
||||||
|
p->minimumHeight()*m_dpi_ratio);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
if(child.at(i)->metaObject()->className() =="QLabel"){
|
if(strcmp(child.at(i)->metaObject()->className(),"QComboBox") == 0){
|
||||||
QLabel *p = dynamic_cast<QLabel*>(child.at(i));
|
QComboBox *p = dynamic_cast<QComboBox*>(child.at(i));
|
||||||
|
p->setMinimumSize(p->width()*m_dpi_ratio,
|
||||||
|
p->height()*m_dpi_ratio);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(strcmp(child.at(i)->metaObject()->className(),"QPushButton") == 0){
|
||||||
|
|
||||||
|
QPushButton *p = dynamic_cast<QPushButton*>(child.at(i));
|
||||||
|
qDebug()<<tmp + child.at(i)->objectName() + " " +
|
||||||
|
child.at(i)->metaObject()->className() << p->size();
|
||||||
|
if(nullptr != p){
|
||||||
|
p->setFixedHeight(p->height()*m_dpi_ratio);
|
||||||
|
p->setMinimumWidth(p->width()*m_dpi_ratio);
|
||||||
|
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(strcmp(child.at(i)->metaObject()->className(),"QLineEdit") == 0){
|
||||||
|
QLineEdit *p = dynamic_cast<QLineEdit*>(child.at(i));
|
||||||
if(nullptr != p){
|
if(nullptr != p){
|
||||||
p->setFixedHeight(p->height()*this->m_dpi_ratio);
|
p->setFixedHeight(p->height()*this->m_dpi_ratio);
|
||||||
|
QFont pf = p->font();
|
||||||
}
|
}
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(child.at(i)->children().size() > 0){
|
if(child.at(i)->children().size() > 0){
|
||||||
|
|
Loading…
Reference in New Issue