按钮类
-
普通按钮
头文件: #include <QPushButton> 示例: QPushButton *bt_button; //普通按钮 bt_button = new QPushButton("普通按钮");
-
工具按钮
头文件: #include <QToolButton> 示例: QToolButton *bt_tool; //工具按钮 bt_tool = new QToolButton; bt_tool->setText("工具按钮");
-
单选按钮
头文件: #include <QRadioButton> 示例: QRadioButton *bt_radio; //单选按钮 bt_radio = new QRadioButton("单选按钮");
-
复选按钮
头文件: #include <QCheckBox> 示例: QCheckBox *bt_check; //复选按钮 bt_check = new QCheckBox("复选框");
-
命令连接按钮
头文件: #include <QCommandLinkButton> 示例: QCommandLinkButton *bt_cmd;//命令按钮 bt_cmd = new QCommandLinkButton("百度"); bt_cmd->setDescription("www.baidu.com");
布局类
-
水平布局
头文件: #include <QHBoxLayout> 示例: QHBoxLayout *vbox = new QHBoxLayout; //构造一个布局管理器 vbox->addWidget(le); //将需要布局的控件加入布局管理器 vbox->addWidget(bt); this->setLayout(vbox); //将布局管理器贴在当前界面
-
垂直布局
头文件: #include <QVBoxLayout> 示例: QVBoxLayout *vbox = new QVBoxLayout; //构造一个布局管理器 vbox->addWidget(le); //将需要布局的控件加入布局管理器 vbox->addWidget(bt); this->setLayout(vbox); //将布局管理器贴在当前界面
-
网格布局
头文件: #include <QGridLayout> 示例: QGridLayout *vbox = new QGridLayout; //构造一个布局管理器 vbox->addWidget(le, 0, 0, 1, 2); //将需要布局的控件加入布局管理器 vbox->addWidget(bt, 1, 1); this->setLayout(vbox); //将布局管理器贴在当前界面
输出类
-
标签
头文件: #include <QLabel> 示例: QLabel *lb_text; //文本标签 QLabel *lb_pix; //图片标签 QLabel *lb_gif; //动画标签 lb_text = new QLabel("标签测试"); lb_text->setAlignment(Qt::AlignCenter); lb_pix = new QLabel("我是图片"); lb_pix->setMinimumSize(10, 10); lb_pix->setScaledContents(true); //自动缩放显示 lb_pix->setPixmap(QPixmap("C:\\Users\\ThinkPad T490\\Desktop\\220501\\1.bmp")); lb_gif = new QLabel("我是动画"); QMovie *m = new QMovie("C:\\Users\\ThinkPad T490\\Desktop\\220501\\1.gif"); lb_gif->setMovie(m); m->start();
-
文本浏览器
头文件: #include <QTextBrowser> 示例: QTextBrowser *tbrowser; tbrowser = new QTextBrowser; tbrowser->setText("<!DOCTYPE html>\ <html>\ <head>\ <meta charset=\"utf-8\">\ <title>runoob.com</title>\ </head>\ <body>\ <h1 >AAAAAAAA</h1>\ <p style=\"background-color:rgb(255,0,0)\">BBBBBBBBB</p>\ </body>\ </html>");
-
日历窗口
头文件: #include <QCalendarWidget> 示例: QCalendarWidget *caw; caw = new QCalendarWidget;
-
七段数码管
头文件: #include <QLCDNumber> 示例: QLCDNumber *lcd; lcd = new QLCDNumber; lcd->setMinimumHeight(50); lcd->display(250); //显示数字
-
进度条
头文件: #include <QProgressBar> 示例: QProgressBar *pbr; pbr = new QProgressBar; pbr->setValue(60); //显示进度
输入类
-
下拉框/组合框
头文件: #include <QComboBox> 示例: QComboBox *cmb; cmb = new QComboBox; //构造组合框
-
字体下拉框
头文件: #include <QFontComboBox> 示例: QFontComboBox *fcmb; fcmb = new QFontComboBox; connect(fcmb, &QFontComboBox::currentFontChanged, [&](QFont f){ lb->setFont(f);});
-
行编辑
头文件: #include <QLineEdit> 示例: QLineEdit *le; le = new QLineEdit; le->setPlaceholderText("用户名");
-
文本编辑器
头文件: #include <QTextEdit> 示例: QTextEdit *te; te = new QTextEdit; connect(te, SIGNAL(textChanged()), this, SLOT(te_to_lb()));
-
自旋框
头文件: #include <QSpinBox> 示例: QSpinBox *sb; sb = new QSpinBox; sb->setMaximum(20); //最大只能为20 sb->setSingleStep(10); //设置单步跨度 connect(sb, SIGNAL(valueChanged(int)),lcd,SLOT(display(int)));
-
时间编辑器
头文件: #include <QTimeEdit> 示例: QTimeEdit *timee; timee = new QTimeEdit; connect(timee,SIGNAL(timeChanged(QTime)),this,SLOT(show_time(QTime)));
-
旋钮
头文件: #include <QDial> 示例: QDial *dl; dl = new QDial; dl->setRange(0, 1000); //设置调节范围 connect(dl, SIGNAL(valueChanged(int)),lcd,SLOT(display(int)));
-
滚动条
头文件: #include <QScrollBar> 示例: QScrollBar *slb; slb = new QScrollBar; slb->setRange(0, 1000); //设置调节范围 slb->setOrientation(Qt::Horizontal); //显示方案“水平” connect(slb, SIGNAL(valueChanged(int)),lcd,SLOT(display(int)));
-
滑动杆
头文件: #include <QSlider> 示例: QSlider *sd; sd = new QSlider; sd->setRange(0, 1000); //设置调节范围 sd->setOrientation(Qt::Horizontal); //显示方案“水平” connect(sd, SIGNAL(valueChanged(int)),lcd,SLOT(display(int)));
容器
-
分组框
头文件: #include <QGroupBox> 示例: QGroupBox *g1; QGroupBox *g2; lb[0] = new QLabel("题目1 safasfasfasdf"); rb[0] = new QRadioButton("aaaaa"); rb[1] = new QRadioButton("bbbbb"); rb[2] = new QRadioButton("ccccc"); QVBoxLayout *vbox1 = new QVBoxLayout; vbox1->addWidget(lb[0]); vbox1->addWidget(rb[0]); vbox1->addWidget(rb[1]); vbox1->addWidget(rb[2]); g1 = new QGroupBox("AAAA"); //带边框显示和注释的容器 g1->setLayout(vbox1); /// lb[1] = new QLabel("题目2 dhjdfdjdjfdjdfdjjjjfd"); rb[3] = new QRadioButton("xxxxx"); rb[4] = new QRadioButton("yyyyy"); rb[5] = new QRadioButton("zzzzz"); QVBoxLayout *vbox2 = new QVBoxLayout; vbox2->addWidget(lb[1]); vbox2->addWidget(rb[3]); vbox2->addWidget(rb[4]); vbox2->addWidget(rb[5]); g2 = new QGroupBox("BBBB"); //带边框显示和注释的容器 g2->setLayout(vbox2); QVBoxLayout *vbox3 = new QVBoxLayout; vbox3->addWidget(g1); vbox3->addWidget(g2); setLayout(vbox3);
-
白板
头文件: #include <QWidget> 示例: lb[0] = new QLabel("题目1 safasfasfasdf"); rb[0] = new QRadioButton("aaaaa"); rb[1] = new QRadioButton("bbbbb"); rb[2] = new QRadioButton("ccccc"); QVBoxLayout *vbox1 = new QVBoxLayout; vbox1->addWidget(lb[0]); vbox1->addWidget(rb[0]); vbox1->addWidget(rb[1]); vbox1->addWidget(rb[2]); g1 = new QWidget; //无边框显示的容器 g1->setLayout(vbox1); /// lb[1] = new QLabel("题目2 dhjdfdjdjfdjdfdjjjjfd"); rb[3] = new QRadioButton("xxxxx"); rb[4] = new QRadioButton("yyyyy"); rb[5] = new QRadioButton("zzzzz"); QVBoxLayout *vbox2 = new QVBoxLayout; vbox2->addWidget(lb[1]); vbox2->addWidget(rb[3]); vbox2->addWidget(rb[4]); vbox2->addWidget(rb[5]); g2 = new QWidget; //无边框显示的容器 g2->setLayout(vbox2); QVBoxLayout *vbox3 = new QVBoxLayout; vbox3->addWidget(g1); vbox3->addWidget(g2); setLayout(vbox3);
-
滚动窗口
头文件: #include <QScrollArea> 示例: QLabel *lb; QScrollArea *ar; lb = new QLabel; lb>setPixmap(QPixmap("C:\\Users\\ThinkPadT490\\Desktop\\22050\\1.jpeg")); //lb->setParent(this); ar = new QScrollArea; //滚动窗口容器 ar->setWidget(lb); //把标签放入容器 //ar->setParent(this); QVBoxLayout *vbox = new QVBoxLayout; vbox->addWidget(ar); setLayout(vbox);
-
工具箱
头文件: #include <QToolBox> 示例: QTextEdit *t1, *t2; QToolBox *box; t1 = new QTextEdit("aaaaaaaaaaaaa"); t2 = new QTextEdit("bbbbbbbbbbbbbbb"); // QVBoxLayout *vbox = new QVBoxLayout; // vbox->addWidget(t1); // vbox->addWidget(t2); // setLayout(vbox); box = new QToolBox; //构造一个工具箱容器 box->addItem(t1, "aaaaa"); //将文本编辑框装入工具箱 box->addItem(t2, "bbbbb"); //将文本编辑框装入工具箱 QVBoxLayout *vbox = new QVBoxLayout; vbox->addWidget(box); setLayout(vbox);
-
制表容器
头文件: #include <QTabWidget> 示例: QTextEdit *t1, *t2; QTabWidget *box; t1 = new QTextEdit("aaaaaaaaaaaaa"); t2 = new QTextEdit("bbbbbbbbbbbbbbb"); box = new QTabWidget; //构造一个制表容器 box->setTabsClosable(true);//显示关闭的按钮 box->addTab(t1, "aaaa"); //插入一个新标签 box->addTab(t2, "bbbb"); //插入一个新标签 QVBoxLayout *vbox = new QVBoxLayout; vbox->addWidget(box); setLayout(vbox); connect(box,SIGNAL(tabCloseRequested(int)),this,SLOT(close_tab(int)));
-
栈式窗口
头文件: #include <QStackedWidget> 示例: QTextEdit *t1, *t2; QStackedWidget *box; QComboBox *cb; t1 = new QTextEdit("aaaaaaaaaaaaa"); t2 = new QTextEdit("bbbbbbbbbbbbbbb"); box = new QStackedWidget; //构造一个栈容器 box->addWidget(t1); //插入一个新标签 box->addWidget(t2); //插入一个新标签 //测试 cb = new QComboBox; cb->addItem("文本1"); cb->addItem("文本2"); connect(cb,SIGNAL(activated(int)),box,SLOT(setCurrentIndex(int))); QVBoxLayout *vbox = new QVBoxLayout; vbox->addWidget(cb); vbox->addWidget(box); setLayout(vbox);