‫اشکال در QSplitter



  • p{direction:rtl; text-align:right}. دوستان سلام . به یک اشکال در QSplitter برخوردم . در پایین یک نمونه از اشکال رو قرار دادم که دوتا QSplitter تو پنجره قرار دادم و در هر کدام دو تا QPushButton قرار دادم یکی از QSplitter ها راست به چپ و دیگری چپ به راسته و همچنین برای هر دو استایل یکسانی دادم ولی حدود دو پیکسل جایگیری دو QPushButton ها باهم فرق داره . این اشکال تو جاهای دیگه هم دیده شده مثل زمانی که QTableWidget رو راست به چپ می کنیم حدود یک پیکسل خطا در سمت راست تمام item ها بوجود می آید. دوستان اگر امکان داره بررسی کنید و اگر چنین مشکلی تو سایر کنترل ها هم وجود داره. گزارش بدیم.

    @
    #include <QtGui/QApplication>
    #include <QtCore/QVariant>
    #include <QtGui/QAction>
    #include <QtGui/QApplication>
    #include <QtGui/QButtonGroup>
    #include <QtGui/QHBoxLayout>
    #include <QtGui/QHeaderView>
    #include <QtGui/QMainWindow>
    #include <QtGui/QMenuBar>
    #include <QtGui/QPushButton>
    #include <QtGui/QSplitter>
    #include <QtGui/QStatusBar>
    #include <QtGui/QToolBar>
    #include <QtGui/QVBoxLayout>
    #include <QtGui/QWidget>

    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    QMainWindow *MainWindow = new QMainWindow(NULL);
    QWidget *centralWidget;
    QHBoxLayout *horizontalLayout_2;
    QWidget *widget_2;
    QVBoxLayout *verticalLayout;
    QSplitter *splitter;
    QPushButton *pushButton;
    QPushButton *pushButton_2;
    QWidget *widget;
    QVBoxLayout *verticalLayout_2;
    QSplitter *splitter_2;
    QPushButton *pushButton_3;
    QPushButton *pushButton_4;

    MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
    MainWindow->resize(634, 393);
    centralWidget = new QWidget(MainWindow);
    centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
    horizontalLayout_2 = new QHBoxLayout(centralWidget);
    horizontalLayout_2->setSpacing(6);
    horizontalLayout_2->setContentsMargins(11, 11, 11, 11);
    horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
    widget_2 = new QWidget(centralWidget);
    widget_2->setObjectName(QString::fromUtf8("widget_2"));
    widget_2->setMinimumSize(QSize(200, 0));
    
    widget_2->setLayoutDirection(Qt::LeftToRight);
    
    verticalLayout = new QVBoxLayout(widget_2);
    verticalLayout->setSpacing(0);
    verticalLayout->setContentsMargins(0, 0, 0, 0);
    verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
    splitter = new QSplitter(widget_2);
    splitter->setObjectName(QString::fromUtf8("splitter"));
    splitter->setStyleSheet(QString::fromUtf8("QSplitter{ \n"
                                              "background:rgb(250,0,0);\n"
                                              "}\n"
                                              "QSplitter::handle{\n"
                                              "background: rgb(0, 0, 255);\n"
                                              "}"));
    splitter->setOrientation(Qt::Horizontal);
    pushButton = new QPushButton(splitter);
    pushButton->setObjectName(QString::fromUtf8("pushButton"));
    splitter->addWidget(pushButton);
    pushButton_2 = new QPushButton(splitter);
    pushButton_2->setObjectName(QString::fromUtf8("pushButton_2"));
    splitter->addWidget(pushButton_2);
    verticalLayout->addWidget(splitter);
    horizontalLayout_2->addWidget(widget_2);
    widget = new QWidget(centralWidget);
    widget->setObjectName(QString::fromUtf8("widget"));
    widget->setMinimumSize(QSize(200, 0));
    
    widget->setLayoutDirection(Qt::RightToLeft);
    
    verticalLayout_2 = new QVBoxLayout(widget);
    verticalLayout_2->setSpacing(0);
    verticalLayout_2->setContentsMargins(0, 0, 0, 0);
    verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
    splitter_2 = new QSplitter(widget);
    splitter_2->setObjectName(QString::fromUtf8("splitter_2"));
    splitter_2->setStyleSheet(QString::fromUtf8("QSplitter{ \n"
                                                        "background:rgb(250,0,0);\n"
                                                        "}\n"
                                                        "QSplitter::handle{\n"
                                                        "background: rgb(0, 0, 255);\n"
                                                        "}"));
    splitter_2->setOrientation(Qt::Horizontal);
    pushButton_3 = new QPushButton(splitter_2);
    pushButton_3->setObjectName(QString::fromUtf8("pushButton_3"));
    splitter_2->addWidget(pushButton_3);
    pushButton_4 = new QPushButton(splitter_2);
    pushButton_4->setObjectName(QString::fromUtf8("pushButton_4"));
    splitter_2->addWidget(pushButton_4);
    verticalLayout_2->addWidget(splitter_2);
    horizontalLayout_2->addWidget(widget);
    MainWindow->setCentralWidget(centralWidget);
    MainWindow->show();
    
    return a.exec(&#41;;
    

    }

    @



  • !http://www.shiaupload.ir/images/50075321654447987288.png(تصویر از اشکال موجود)!


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.