博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt学习笔记(7)—— ButtonBox
阅读量:7018 次
发布时间:2019-06-28

本文共 1833 字,大约阅读时间需要 6 分钟。

hot3.png

    首先我们需要建立一个标准的Gui应用程序,在主界面中添加一个QLineEdit控件、QTextEdit控件以及一个ButtonBox控件,将ButtonBox控件默认生成的Cancel按钮取消,然后将主界面设计成下面的样式;

165346_48zZ_1997634.png

   主界面设计完成后我们就开始进行代码的编写,在这里我们通过自定义一个“Clean”按钮,与OK按钮组成一个按钮盒,单击“OK”按钮将lineEdit中的数据显示到textEdit,单击“Clean”按钮会清除textEdit中的所有内容。

具体代码如下所示:

mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include 
//-----------add header#include 
#include 
namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{    Q_OBJECTpublic:    explicit MainWindow(QWidget *parent = 0);    ~MainWindow();    //using goto slot methordprivate slots:    void on_buttonBox_clicked(QAbstractButton *button);private:    Ui::MainWindow *ui;    //declare a object    QPushButton *clean;};#endif // MAINWINDOW_H

mainwindow.cpp#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    //coding here    clean = new QPushButton;    clean->setText(tr("Clean"));    ui->buttonBox->addButton(clean,QDialogButtonBox::ActionRole);}MainWindow::~MainWindow(){    delete ui;}void MainWindow::on_buttonBox_clicked(QAbstractButton *button){    QString str;    str = ui->textEdit->toPlainText();    if(button == ui->buttonBox->button((QDialogButtonBox::Ok)))    {        if(!ui->lineEdit->text().isEmpty())        {            str += ui->lineEdit->text() + "\n";            ui->textEdit->setText(str);        }    }    else if(button == this->clean)    {        ui->textEdit->setPlainText(tr(""));    }}

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

以上是示例程序的所有代码,新手可以对比一下,大牛勿喷,下面来一张效果图!

165412_NuJE_1997634.png

好了,今天就到这里吧,欢迎给位和我一起讨论学习!咱们下周见,O(∩_∩)O~!

转载于:https://my.oschina.net/hippiedom/blog/344903

你可能感兴趣的文章
java hashmap 异步_基于HashMap多线程并发问题分析
查看>>
java 移动目录_使用Java将文件从一个目录移动到另一个目录 - Break易站
查看>>
java arraylist 字符串_java – 字符串的ArrayList到一个字符串
查看>>
mysql 慢查询 测试_MYSQL慢查询与日志的设置与测试
查看>>
mysql 特殊运算_MySql中特殊运算符的使用方法总结
查看>>
mysql语句转化longbob编码_如何写出优雅的代码?
查看>>
java timsort_JDK(二)JDK1.8源码分析【排序】timsort
查看>>
java 如何调用存储过程_Java中存储过程的调用
查看>>
java偏好设置_Linux中不同用户下的Java系统偏好设置
查看>>
java种线程池多线程有返回值_Java多线程-新特性-有返回值的线程
查看>>
java axis2小实例_[图解教程] Axis2与Eclipse整合开发Web Service之一:简单的计算服务例子...
查看>>
java hashmap比较_Java中对HashMap的深度分析与比较
查看>>
Java季度半年_java获取当前年、半年、季度、月、日、小时 开始结束时间等
查看>>
java手写算法_java笔试手写算法面试题大全含答案
查看>>
JAVA响应ajax请求的_springmvc接受及响应ajax请求。 以及@RequestBody 和@ResponseBody注解的使用...
查看>>
jq.$post传递参数给php,通过JQuery ajax.post将JSON数据提交到PHP
查看>>
网站php上传服务器,PHP多个文件上传到服务器实例
查看>>
php用户登录论坛系统,discuz论坛用户登录后台程序代码_PHP教程
查看>>
php 微信小程序 循环 多选,微信小程序复选框实现多选一功能过程解析
查看>>
fork+exit+php,php实现简单的守护进程创建、开启与关闭操作
查看>>