精华内容
下载资源
问答
  • Qt创建对话框:调整对话框大小方法

    千次阅读 2019-12-02 22:37:34
    1.对于主窗口,在构造函数中调用如下语句实现对话框大小调整 MainWindow::MainWindow(QWidget *parent) : this->resize(QSize(1000,700)); 2.对于弹出对话框,调用如下语句可实现: QDialog dialog1...

    1.对于主窗口,在构造函数中调用如下语句实现对话框大小调整

    MainWindow::MainWindow(QWidget *parent) :
        this->resize(QSize(1000,700));

    2.对于弹出对话框,调用如下语句可实现:

     
        QDialog dialog1(this);
        dialog1.setWindowTitle("Hello World!");
        dialog1.resize(QSize(300,100));
        dialog1.exec();

     

    展开全文
  • 使用QT 创建的一个 无边框的 可移动,可拉伸来改变窗体大小对话框。可以实现上述的功能过!
  • 对话框大小改变后对对话框上面控件的大小和位置进行动态的调整。
  • QT/C++ 可移动、可拉伸改变大小的无边框对话框 xlmainwindow
  • 在弄清楚qt如何创建对话框Qt快速设计对话框(控件属性)-designer(1),Qt快速设置对话框(部件布局)-designer(2)),并且设置布局之后,想要有的时候可以能够设计改变形状的对话框,在qt中最常见的可改变形状...

    记录自己学习qt之路的一点一滴。
    在弄清楚qt如何创建对话框(Qt快速设计对话框(控件属性)-designer(1)Qt快速设置对话框(部件布局)-designer(2)),并且设置布局之后,想要有的时候可以能够设计改变形状的对话框,在qt中最常见的可改变形状的对话框有:扩展对话框、多页对话框
    以下是扩展对话框的格式:

    点击More按钮之前

    点击More按钮后

    这种形式的对话框无论是使用代码,还是使用qt设计师,都可以快速实现。以下是如何通过代码和设计师一起实现扩展对话框的步奏:

    1.创建如下图的对话框

    Qt快速设计对话框(控件属性)-designer(1)
    (1)单机File->New form,创建”Dialog without Buttons" 模板
    (2)创建OK按钮、Cancel按钮、More按钮,设置其objectName分别为okButton、cancelButton、moreButton,在cancel按钮和more按钮之间加入垂直分隔符
    (3)设置moreButton属性text为‘&More’,加‘&’符原因请看之前第二篇博客,设置checkable属性为‘true’
    (4)创建群组对话框,两个标签、两个组合框、和一个水平分隔符
    (5)设置群组对话框title属性为‘&Primary Key’,第一个标签text属性设置为‘Column’,第三个标签text属性设置为‘Order’
    (6)双击第一个组合框,添加第一个item项‘None’,第二个组合框添加item‘Ascending’和‘Desc-ending’项。
    在这里插入图片描述

    2.设置对话框布局

    Qt快速设置对话框(部件布局)-designer(2)
    (1)按住Ctrl键依次点击ok按钮、cancel按钮、水平分隔符,more按钮,然后设置垂直布局
    (2)点击群组框,然后点击栅格布局,再点击设置适应大小
    在这里插入图片描述

    3.设置扩展对话框

    (1)下拉对话框,设置窗口足够高,以便能够容下剩下两个部分
    (2)复制群组框,并分别设置群组框title属性为‘&Secondary Key’和‘&Tertiary Key’
    (3)创建垂直分隔符,放在图下位置
    (4)分别设置组合框obectName为primaryColumnCombo、primaryOrderCombo、SecondaryColumnCombo、SecondaryOrderCombo、TertiaryColumnCombo、TertiaryOrderCombo
    在这里插入图片描述

    4.设置布局

    (1)窗口objecname设置未‘SortDialog’,title属性设置为‘Sort’
    (2)设置窗口进行栅格布局
    (3)设置两个垂直分隔符sizeHint属性为【20,0】
    这个时候最终的网格布局一共4行2列
    在这里插入图片描述

    5.设置tab顺序

    Qt快速设置对话框(部件布局)-designer(2)
    在这里插入图片描述

    6.设置连接模式

    (1)单击Edit->Edit signals/slots,进入Qt设计师设置连接模式
    (2)第一个连接设置okbutton和窗口accept槽,如下图所示。从对话框中选择信号clicked(),槽函数选择accept()
    在这里插入图片描述
    (3)设置moreButton连接secondaryGroupBox群组框,选择toggled(bool)为信号,选择setVisible(bool)为槽函数,这个信号和槽需要点击配置连接下方显示才能够看的到
    在这里插入图片描述
    (4)如下图设置完成
    在这里插入图片描述

    7.编辑代码

    新增sortdialog.h和sortdialog.cpp文件,代码分别如下:

    sortdialog.h

    #ifndef SORTDAIALOG_H
    #define SORTDAIALOG_H
    
    #include "ui_dialog.h"
    #include <QDialog>
    
    class SortDialog : public QDialog, public Ui::SortDialog
    {
        Q_OBJECT
    
    public:
        SortDialog(QWidget* parent = 0);
        void setColumnRange(QChar first, QChar last);
    };
    
    #endif // SORTDAIALOG_H
    
    

    sortdialog.cpp

    #include "sortdialog.h"
    #include <QtGui>
    
    SortDialog::SortDialog(QWidget* parent) : QDialog (parent)
    {
        setupUi(this);
        SecondaryGroupBox->hide();//隐藏
        TertiaryGroupBox->hide();//隐藏
        layout()->setSizeConstraint(QLayout::SetFixedSize);//自动适应大小
    
        setColumnRange('A', 'Z');//设置组合框成员
    }
    
    void SortDialog::setColumnRange(QChar first, QChar last)
    {
        PrimaryColumnCombo->clear();
        SecondaryColumnCombo->clear();
        TertiaryColumnCombo->clear();
    
        SecondaryColumnCombo->addItem("None");
        TertiaryColumnCombo->addItem("None");
    
        PrimaryColumnCombo->setMinimumSize(SecondaryColumnCombo->sizeHint());
    
        QChar ch = first;
        while(ch <= last)
        {
            PrimaryColumnCombo->addItem(QString(ch));
            SecondaryColumnCombo->addItem(QString(ch));
            TertiaryColumnCombo->addItem(QString(ch));
            ch = ch.unicode() + 1;
        }
    }
    

    main中进行显示

    #include <QApplication>
    #include <sortdialog.h>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        SortDialog* dialog = new SortDialog;
        dialog->setColumnRange('C', 'F');
        dialog->show();
    
        return a.exec();
    }
    
    

    就完成了

    8.问题一、没有生成’ui_dialog.h‘头文件

    如果编译没有生成’ui_dialog.h‘头文件,可能是项目属性中没有设置好,网上说,原因是xx.ui文件没有被mic.exe编译暂时先查查这个是不是设置了。
    在这里插入图片描述

    9.问题二、找不到 Ui::SortDialog类

    看一下是否是如此原因Qt Designer设置UI objectname属性

    展开全文
  • 要想实现对话框缩放时候内部的控件跟着动态缩放。需要以下几个关键设置: 给对话框窗口设置一个布局,以后窗口靠这个布局管理 给对话框窗口设置QSizePolicy为Expanding 窗口内包含的控件都设置QSizePolicy::...

    一、效果图

    在这里插入图片描述

    二、制作原理说明

    要想实现对话框缩放时候内部的控件跟着动态缩放。需要以下几个关键设置:

    1. 给对话框窗口设置一个布局,以后窗口靠这个布局管理
    2. 给对话框窗口设置QSizePolicy为Expanding
    3. 窗口内包含的控件都设置QSizePolicy::Expanding属性,或自定义控件覆盖resizeEvent来保持自定义控件动态填满父布局。layout不用设置Expanding属性。
    4. 对话框窗口设置setMinimumSize

    三、自定义跟随父布局缩放的控件

    本例子中自己实现了两个自定义控件,分别是:
    MyVideoWidget:显示视频或图片的控件
    MyRangeSlider:调节裁剪范围的控件
    这两个控件都重新实现了resizeEvent方法。因此这两个控件,默认就会填满父布局。会跟着父布局扩展而扩展

    四、在伸缩动态布局中,保持按钮不变形

    在本例子中有两个按钮分别设置了图片背景。以实现自己需要的按钮造型。
    按钮配图片的方法为:

    record_btn_p->setStyleSheet("QPushButton{border-image: url(:/img/image/record.png);}"
    "QPushButton:hover{border-image: url(:/img/image/rightcheck.png);}"
    "QPushButton:pressed{border-image: url(:/img/image/pause.png);}");
    

    设置完按钮发现按钮会随着缩放变形,导致很难看。并且设置setGeometry
    并不管用。设置按钮的sizePolicy为Fixed也没有用。经过测试发现,最终的固定按钮尺寸的方法为:

    record_btn_p->setMinimumSize(QSize(28, 28));
    record_btn_p->setMaximumSize(QSize(28, 28));
    

    当需要只设置垂直方向固定,则需要如下配置:

    myrange_slider_p->setMaximumHeight(24);
    myrange_slider_p->setMinimumHeight(24);
    

    当需要只设置水平方向固定,则需要如下配置:

     myrange_slider_p->setMinimumWidth(100);
    myrange_slider_p->setMaximumWidth(100);
    

    五、自定义控件源码与本例子源码

    [https://github.com/robert1207/QtVideoPlayDialog]

    展开全文
  • Qt中的对话框

    千次阅读 2017-09-08 18:44:18
    QDialog是Qt所有类型的对话框窗口的基类,它继承于QWidget,是一种容器类型组件。  QWidget是所有窗口类的抽象,它也可以生成对话框,但是对话框是常见的窗口组件,若每次要使用对话框,都利用QWidget来生成并设置...

      对话框是GUI程序和用户进行简短交互的顶层窗口,所谓顶层窗口即始终在主窗口之上显示。QDialog是Qt所有类型的对话框窗口的基类,它继承于QWidget,是一种容器类型组件。

    这里写图片描述

      QWidget是所有窗口类的抽象,它也可以生成对话框,但是对话框是常见的窗口组件,若每次要使用对话框,都利用QWidget来生成并设置相关参数,显然十分繁琐。所以Qt为我们封装了另外一个子类QDialog,专门用于生成对话框。

    1. 模态和非模态对话框

      对话框归为两大类,即模态对话框于非模态对话框。
      模态对话框(QDialog::exec())
      阻塞型的对话框,显示后无法与父窗口进行交互。如word文档中修改源文件内容后直接关闭窗口弹出的对话框:
    这里写图片描述
      非模态对话框(QDialog::show())
      非阻塞型的对话框,显示后还可以与父窗口进行交互。如word文档的替换操作:
    这里写图片描述

      模态对话框:
      (1) 定义一个主窗口,窗口内有一个按钮:

    //Widget.h
    #ifndef WIDGET_H
    #define WIDGET_H
    
    #include <QtGui/QApplication>
    #include <QWidget>
    #include <QPushButton>
    #include <QDebug>
    
    class Widget : public QWidget
    {
        Q_OBJECT            //表要类要使用信号与槽机制
    protected:
        QPushButton Btn;    //按钮
    protected slots:
        void Btn_Clicked(); //槽,用于响应按钮按下操作
    public:
        Widget(QWidget *parent = 0); //parent默认参数为0,表默认是容器类父窗口
        ~Widget();
    };
    
    #endif // WIDGET_H
    
    //Widget.cpp
    #include "Widget.h"
    #include "Dialog.h"
    
    //Widget的构造函数,Btn初始化为其Widget的功能类字子组件
    Widget::Widget(QWidget *parent) : QWidget(parent), Btn(this)
    {
        Btn.resize(80, 30);
        Btn.move(40, 40);
        Btn.setText("btn");
    
        resize(240, 100);
        setWindowTitle("hello");
        connect(&Btn, SIGNAL(clicked()), this, SLOT(Btn_Clicked()));
    }
    
    Widget::~Widget()
    {
    }
    
    //Widget内按钮的响应槽,该按钮按下后Winget会弹出对话框(Dialog)
    void Widget::Btn_Clicked()
    {
        qDebug() << "Btn_Clicked()";
        Dialog d(this);     //Dialog是对话框类,见下
        int ret = d.exec(); //exec()表明d是个模态对话框,用户不操作该对话框,会阻塞于此。
                            //exec()返回对话框的运行结果
        if (ret == Dialog::Accepted)
        {
            qDebug() << "Accepted";
        }
        else if (ret == Dialog::Rejected)
        {
            qDebug() << "Rejected";
        }
    }

      (2) 定义一个对话框,框内有两个按钮

    //Dialog.h
    #ifndef DIALOG_H
    #define DIALOG_H
    
    #include <QWidget>
    #include <QDebug>
    #include <QPushButton>
    #include <QtGui/QDialog>
    
    class Dialog : public QDialog
    {
        Q_OBJECT
    protected:
        QPushButton Btn1;   //对话框内按钮1
        QPushButton Btn2;   //对话框内按钮2
    protected slots:
        void Btn1_Clicked();    //按钮1的槽
        void Btn2_Clicked();    //按钮2的槽
    public:
        Dialog(QWidget *parent = 0);
        ~Dialog();
    };
    
    #endif // DIALOG_H
    
    #include "Dialog.h"
    
    //Dialog类的构造函数,初始化列表指定两个按钮的父窗口都为Dialog
    Dialog::Dialog(QWidget *parent) : QDialog(parent), Btn1(this), Btn2(this)
    {
        //初始化按钮1
        Btn1.setText("Btn1");
        Btn1.move(20, 20);
        Btn1.resize(100, 30);
    
        //初始化按钮2
        Btn2.setText("Btn2");
        Btn2.move(140, 20);
        Btn2.resize(100, 30);
    
        //初始化对话框的大小以及设置其名字
        this->resize(260, 70);
        this->setWindowTitle("Dialog");
    
        //信号与槽的映射
        connect(&Btn1, SIGNAL(clicked()), this, SLOT(Btn1_Clicked()));
        connect(&Btn2, SIGNAL(clicked()), this, SLOT(Btn2_Clicked()));
    }
    
    Dialog::~Dialog()
    {    
    }
    
    //按钮1的槽
    void Dialog::Btn1_Clicked()
    {
        qDebug() << "Btn1_Clicked()";
        done(Accepted);
    }
    
    //按钮2的槽
    void Dialog::Btn2_Clicked()
    {
        qDebug() << "Btn2_Clicked()";
        done(Rejected);
    }

      (3) main函数

    //main.cpp
    #include "Dialog.h"
    #include "Widget.h"
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        Widget w;
    
        w.show();
    
        return a.exec();
    }

      只有模态对话框才有返回值的概念,返回值用于表示对话框和用户的交互结果。函数:

    void QDialog::done(int);

      用于关闭对话框并将参数i作为与用户的交互结果,发回给exec()的调用处。i的取值可为Accepted、Rejected或其其他int型数据,Accepted、Rejected是在QDialog类中定义的枚举类型,前者表示用户操作成功,后者表示操作失败。

      非模态对话框:
      在栈中创建模态对话框是常用的方式,而非模态对话框由于其显示函数是非阻塞的,所以需要在堆中创建。Widget::Btn_Clicked()函数改写为:

    void Widget::Btn_Clicked()
    {
        qDebug() << "Btn_Clicked()";
    
        Dialog* d = new Dialog();
        d->setAttribute(Qt::WA_DeleteOnClose);
        d->show();
    
        qDebug() << "Btn_Clicked() exit!";
    }

      show()函数是非阻塞的,对话框Dialog对象d若是在栈中生成那函数退出后对话框也随之消失,所以非模态对话框需在堆中动态生成,这样该函数退出后对话框仍能显示,但是却也出现了新的问题:指针d执行动态生成的空间,一旦该函数退出后,d指针将失效,这也就意味着其他函数无法释放该堆空间,造成内存泄漏。因此Qt提供了“对话框被用户关闭后就释放给对话框占据的堆空间”的操作:

    d->setAttribute(Qt::WA_DeleteOnClose);

      Qt对话框的模态/非模态是通过对话框的属性变量modal确定的,modal是个bool类型的变量,默认情况下是false,即非模态,所以调用show()函数显示对话框时是非模态的;调用exec()函数显示时,它将忽略modal的属性值的设置并将对话框设置为模态对话框。

      除了模态、非模态,还有一种混合特性的对话框,即通过QDialog::setModal()函数设置modal变量为true,那么该对话框将变成:对话框在堆中分配,同时用show()显示的前提下,同时又是模态对话框。

    QDialog* dialog = new QDialog(this);
    dialog->setAttribute(Qt::WA_DeleteOnClose);
    dialog->setModal(true);
    dialog->show();

    2. Qt中定义的常用对话框

      Qt提供了一些可复用的常用对话框类,这些类都继承自QDialog类,有描述提示型消息的QMessageBox、描述文件相关的QFileDialog、描述打印机选择的QPrintDialog,描述颜色选择的QColorDialog等等。

      对于这些对话框类的使用,都遵循如下规则:

    //1. 定义对话框
    Dialogxxx d(this);
    
    //2. 设置对话框属性,如对话框标题、文字显示
    d.setxxx(xxx);
    
    //3. 判断对话框被用户操作后的返回值,
    if (d.exec() == Dialogxxx::xxx)
    {
        //执行相关操作
    }

      下面是上述Qt实现好的对话框类的使用,它们定义在Widget类型的父类窗口类中的按钮槽函数中。

    2.1 消息对话框

      消息对话框主要用于为用户提示消息,强制用户进行选择:

    //提示用户消息
    #include <QMessageBox>
    
    //强制用户选择
    QMessageBox msg(this);              //创建对话框
    msg.setWindowTitle("xxxx");         //设置对话框标题
    msg.setText("customMsgBtnClicked"); //设置对话框的提示信息
    msg.setIcon(QMessageBox::Warning);  //设置对话框的图标
    //设置对话框的按钮
    msg.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel | QMessageBox::YesToAll);  
    
    QMessageBox msg(this);
    msg.setText("this is a message dialog!");
    msg.exec();

      运行结果:
    这里写图片描述

    2.2 文件对话框

      在GUI程序中,打开文件和保存文件的时候都会弹出对话框,

    //GUI程序要打开系统上的文件
    #include <QFileDialog>
    
    QFileDialog d(this);                        //创建对话框
    d.setAcceptMode(QFileDialog::AcceptOpen);   //设置该对话框的模式为打开
    d.setFileMode(QFileDialog::ExistingFiles);  //选择打开的是文件,ExistingFiles表可选择多文件,
                                                //ExistingFile则表示只能选择一个文件,目录则是QFileDialog::Directory
    d.setFilter("TEXT(*.txt)");                 //以文件格式过滤掉文件
    
    if (d.exec() == QFileDialog::Accepted)      //执行成功
    {
        QStringList fs = d.selectedFiles();     //打印用户选择的结果
    
        for (int i = 0; i < fs.count(); i++)
        {
            qDebug() << fs[i];
        }
    }
    

      运行结果:
    这里写图片描述

    //GUI程序要保存文件
    QFileDialog d(this);
    d.setAcceptMode(QFileDialog::AcceptSave);
    //d.setFilter("c(*.c)");
    
    if (d.exec() == QFileDialog::Accepted)
    {
        QStringList fs = d.selectedFiles();
    
        for (int i = 0; i < fs.count(); i++)
        {
            qDebug() << fs[i];
        }
    }

      运行:
    这里写图片描述

    2.3 颜色对话框

    #include <QColorDialog>
    QColorDialog d(this);
    d.setWindowTitle("color editor");
    
    if (d.exec() == QColorDialog::Accepted)
    {
        QColor color = d.selectedColor();
        qDebug() << color;
        qDebug() << color.red();
        qDebug() << color.green();
        qDebug() << color.blue();
    }

      运行:
    这里写图片描述

      setCurrentColor()函数用于设置当前的颜色值:

    d.setCurrentColor(QColor(100, 100, 100));

      QColor类用于表现颜色值,该类有一个构造函数:

    QColor ( int r, int g, int b, int a = 255 )

    2.4 输入对话框

      输入对话框QInputDialog类,用于需要临时进行数据输入的场合:

    QInputDialog d(this);
    d.setWindowTitle("input dat");
    d.setLabelText("ple input dat");
    d.setInputMode(QInputDialog::IntInput);  //TextInput输入文本,DoubleInput输入double类型
    if (d.exec() == QInputDialog::Accepted)
        qDebug() << d.intValue();           //TextValue、doubleValue

      运行:
    这里写图片描述

    2.5 字体对话框

      QFontDialog类用于选择字体的对话框:

    #include <QFontDialog>
    QFontDialog f(this);
    f.setWindowTitle("font select");
    f.setCurrentFont(QFont(QFont("gargi", 10, QFont::Bold)));   //设置弹出的对话框的选择的字体
    
    if (f.exec() == QFontDialog::Accepted)
    {
        qDebug() << f.selectedFont();
    }
    

    运行:
    这里写图片描述

    2.6 进度对话框

      QProgressDialog类用于显示进度信息,不需要判断exec()函数的返回值:

    #include <QProgressDialog>
    QProgressDialog d(this);
    d.setWindowTitle("load");
    
    //设置范围值
    d.setMinimum(0);
    d.setMaximum(100);
    
    //设置进度数值
    d.setValue(96);
    
    //设置提示信息
    d.setLabelText("xxxxxxxx");
    
    d.exec();

    运行:
    这里写图片描述

    2.7 打印对话框

      QPrinter类封装了打印设备驱动及其参数,利用该类尅以相同的方式使用系统的不同的打印设备打印。

    #include <QPrintDialog>
    #include <QTextDocument>
    #include <QPrinter>
    
    QPrintDialog d(this);
    d.setWindowTitle("print test");
    
    if (d.exec() == QPrintDialog::Accepted)
    {
        QPrinter *p = d.printer();
        QTextDocument td;
    
        //可以通过打印机打印,这里是打印到文本文件
        td.setPlainText("print test!!");    //待打印的文本
        p->setOutputFileName("./tt.txt");   //打印到此文件
        td.print(p);
    }

    运行:
    这里写图片描述

    展开全文
  • Qt创建对话框

    千次阅读 2017-03-23 21:06:53
    Qt设计师设计可伸展对话框
  • Qt自定义对话框及调用方法

    千次阅读 2020-02-12 23:25:45
    对话框的调用一般包括创建对话框、传递数据给对话框、显示对话框获取输入、判断对话框单击按钮的返回类型、获取对话框输入数据等过程。 本节将通过实例 samp6_2 来详细介绍这些原理。图 1 是实例 samp6_2 的主窗口,...
  • QT 改变对话框的位置

    千次阅读 2018-09-04 10:02:10
    设置窗口居中显示这是在UI编程中经常要遇到的问题。 方法一:在窗口(QWidget类及派生类)的构造函数中添加如下代码: #include &lt;QDesktopWidget&gt; //....... QDesktopWidget* desktop = QApplication::...
  • Qt对话框

    2021-10-15 13:05:05
    Qt QDialog扩展性默认按钮QDialog 扩展性 “更多”选项 setExtension() setOrientation() showExtension() 默认按钮 回车键时被按下的按钮。 QPushButton::setDefault() QPushButton::isDefault() QPushButton::...
  • QPalette类相当于对话框或控件的调色板,它管理着控件或窗体的所有颜色信息,每个窗体或控件都包含一个QPalette对象,在显示时按照它的QPalette对象中对各部分各状态下的颜色的描述来进行绘制。 QPalette类有两个...
  • 对话框的调用一般包括创建对话框、传递数据给对话框、显示对话框获取输入、判断对话框单击按钮的返回类型、获取对话框输入数据等过程。 本节将通过实例 samp6_2 来详细介绍这些原理。图 1 是实例 samp6_2 的主窗口,...
  • Qt为应用程序设计提供了一些常用的标准对话框,如打开文件对话框、选择颜色对话框、信息提示和确认选择对话框、标准输入对话框等,用户无需再自己设计这些常用的对话框,这样可以减少程序设计工作量。 在前面几章的...
  • #include <QColorDialog> // 颜色对话框 void MyWidget::on_pushButton...// QColor color = QColorDialog::getColor(Qt::red, this, tr("颜色对话框"), // QColorDialog::ShowAlphaChannel); QColorDialog di
  • 修改对话框左上角的图标 图标需要用 .ico 的后缀,jpg的图片可以网上在线转成 .ico ,这里用的是 16*16 的 准备好图片,可以直接放在工程下面,也可以创建个文件夹,这里创建了个文件夹 resource 把图片放下面
  • QT自定义对话框

    2020-02-22 16:29:54
    对话框的调用一般包括创建对话框、传递数据给对话框、显示对话框获取输入、判断对话框单击按钮的返回类型、获取对话框输入数据等过程。 本节将通过实例 samp6_2 来详细介绍这些原理。图 1 是实例 samp6_2 的主窗口,...
  • C++GuiQt4编程-改变形状的对话框,就像这个实例显示的那样,设计一个扩展对话框并不比一个简单对话框难:所需要的就是一个切换按钮,一些信号-槽连接,以及一个不可以改变尺寸大小的布局。
  • 此篇文章参考qtcn论坛整理而...如图所示,QT自带的标准对话框QFontDialog、QColorDialog。默认的文字全是英文的。 请问,如何可以把文字修改成中文或其他语言文字? 解决方案如下: 简体中文的解决思路是打开Qt安装目
  • Qt标准对话框源码分析

    千次阅读 2020-06-15 10:36:29
    文章目录标准对话框文件对话框(QFileDialog) 标准对话框 文件对话框(QFileDialog) QFileDialog::getOpenFileName(作用的窗口,标题,目录,要过滤的后缀) void Dialog::file_show() { /*作用在当前窗口,标题是:...
  • QT对话框

    2020-02-22 16:28:10
    Qt 为应用程序设计提供了一些常用的标准对话框,如打开文件对话框、选择颜色对话框、信息提示和确认选择对话框、标准输入对话框等,用户无需再自己设计这些常用的对话框,这样可以减少程序设计工作量。 在前面几章的...
  • 我来简单介绍一下如何编写一些简单的代码来展示Qt常见对话框,即颜色对话框,文件对话框,输入对话框,错误提示对话框,字体对话框,消息对话,进度条对话框。 1.新建Qt项目,项目名称为随意,这里我把类名取为...
  • QT 自定义模态对话框

    2018-10-10 15:16:00
    只能是鼠标左键移动和改变大小 if ( event ->button() == Qt::LeftButton) { mouse_press = true ; } // 窗口移动距离 move_point = event ->globalPos() - pos(); } void MsgBox::...
  • //设置窗口固定大小,不能利用拖拽改变大小,否则再次单机【详细】按钮时,对话框不能恢复到初始状态 ui.verticalLayout->setSizeConstraint(QLayout::SetFixedSize); init(); _guiDetail = new QtGuiDetail; ...
  • QT中常见对话框的创建

    千次阅读 2018-10-09 15:56:24
    一、多窗口切换 第一步:首先创建一个项目,之后进入ui设计模式,在左侧找到Label...第二步:双击Label将其修改为主界面,之后在Push Button 右键选择clicked()转到槽。 第三步:在函数槽中添加:(需要包含#inc...
  • 实现效果: 动画: // 动画对象 QPropertyAnimation * pWidgetProcessUp = new QPropertyAnimation(this, "geometry"); // QRect(x,y,width,hight) pWidgetProcessUp->setStartValue(geometry());...
  • 第4章 Qt 5基本对话框

    2021-09-09 21:44:06
    一、Qt 5基本对话框 首先介绍标准文件对话框(QFileDialog)、标准颜色对话框(QColorDialog)、标准字体对话框(QFontDialog)、标准输入对话框(QInputDialog)及标准消息对话框(QMessageBox),运行效果如图4.1...
  • qt的字体和颜色设置对话框

    千次阅读 2016-05-10 00:49:39
    qt提供了方便的字体的颜色修改的对话框类。1、设置颜色 void ChatMenu::setMyColor() { QColor color = QColorDialog::getColor(Qt::white, this); QString msg = QString("rgb(%1, %2, %3)").arg(QString::number...
  • 点击按钮实现不同widget间切换位置大小
  • Qt:可扩展对话框的实现

    千次阅读 2016-06-05 17:10:17
    Qt:可扩展对话框的实现可扩展对话框通常用于用户对界面有区分的场合,通常情况下,只出现基本界面;当有高级应用或者需要更多的信息时,通过某种方式的切换,才显示完整的窗体,切换工作通常由一个按钮来实现。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,550
精华内容 1,820
关键字:

qt对话框改变大小