Linux-QT5.9学习笔记——MainWindow基础控件

基本组件

QMenuBar  * bar = menuBar():菜单

       setMenuBar(bar)   设置菜单到窗口中 

       filemenu->addSeparator();  //添加分割线

       QMenu * file = bar->addMenu(“文件”);  //添加文件到菜单栏
       QAction * newfile = filemenu->addAction("New File");  //添加子选项

 

QToolBar * tool = ui->mainToolBar; //工具栏
//    addToolBar(tool); //添加工具栏
    tool->setAllowedAreas(Qt::LeftToolBarArea);//设置停靠方式
    tool->setFloatable(false);                     //设置是否悬浮
    tool->setMovable(false);                      设置是否移动
    QPushButton *but = new QPushButton();   
    tool->addWidget(but);                          添加按钮
    tool->addSeparator();                          添加分割线
    tool->addAction(openfile);                    添加子菜单

 

    QStatusBar * status = ui->statusBar;    状态栏
//    setStatusBar(status);                           设置状态栏
    QLabel * lab = new QLabel("this is status:"); 标签
    status->addWidget(lab);                         标签添加在状态栏左边
    QLabel * lab2 = new QLabel("wo shi hao ren!"); 标签
    status->addPermanentWidget(lab2);      标签添加在状态栏右边

    QDockWidget * dock = new QDockWidget("DockWindow",this);  创建铆接部件
    addDockWidget(Qt::TopDockWidgetArea,dock);                           添加到窗口
    dock->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);  设置停靠

    QTextEdit * edit = new QTextEdit(this); 创建文本编辑器   核心部件
    setCentralWidget(edit);  设置核心部件到当前窗口

资源文件:

新建qt文件夹 Recourse文件夹 ,添加前缀。添加文件

资源访问路径 “:  + 前缀名 + 文件名”

模态和非模态

模态对话框,必须对对话框进行操作,不允许越过  

非模态对话框,允许越过对话框,对其他组件进行操作。
            QDialog * log = new QDialog(this);   创建一个对话框
            log->setWindowTitle("tishi");              设置名字
            log->exec();                                       模态显示  阻塞当前

            log->show();                                       非模态显示  由于分配到堆上,一直创建会崩坏程序
            log->setAttribute(Qt::WA_DeleteOnClose); 设置属性,关闭时释放

常用对话框:QColorDialog  QfileDialog QfontDialog QinputDialog Qmessagebox QPageSetupDialog(为打印机提供纸张相关选项)QPrintDialog(打印机配置)QPrintPreviewDialog(打印预览) QProgressDialog(显示操作过程)。

QMessageBox::critical(this,"Error","this is Message!!!");                                      产生一个提示对话框
QMessageBox::information(this,"info","this is messagebox");                              信息对话框
if (QMessageBox::Save == QMessageBox::question(this,"problem","this is a      选择对话框,用if语句判断返回值           message?",QMessageBox::Cancel|QMessageBox::Save,QMessageBox::Save)){
QMessageBox::warning(this,"error","creat a warn!");                                             警告对话框

QFileDialog::getOpenFileName(this,"wd-file","/home/wandong","(*.jpg)")   打开一个文件,设置父窗口,标题,默认路径,文件类型

QFont font = QFontDialog::getFont(&you,QFont("Noto Sans CJK SC"),this,"select_font"); 获取字体 是否获取 默认字体 父窗口 窗口标题

QColorDialog::getColor(Qt::white,this,"wd-color");    获取颜色  默认颜色 父窗口 窗口标题

设置窗体背景颜色:

    QPixmap pixmap = QPixmap(":/textures/yaowei.jpg").scaled(this->size());  
    QPalette palette(this->palette());
    palette.setBrush(QPalette::Background, QBrush(pixmap));
    this->setPalette(palette);

常用控件:

toolbutton  设置图片 在text icon中  最下面独有类中设置效果

radiobutton  单选框,用groubbox添加组,不同组相互独立

checkbutton 复选,状态0未选中 状态1 半选中 状态2全选中   在最下面调整选中状态

QListWidget  显示文字组

    每个子项显示为 QListWidgetItem * item1 = new QListWidgetItem("I`m a good  eople!",ui->text);

     一次性加入 多个:ui->text->addItems(list);

qtreewidget   树组件

     设置头            ui->treeWidget->setHeaderLabels(QStringList()<< "name" << "passwd");

      设置一级节点  QTreeWidgetItem * tre1 = new QTreeWidgetItem(ui->treeWidget,QStringList()<<"wangodng");

      设置二级节点  QTreeWidgetItem * wdface = new QTreeWidgetItem(tre1,QStringList()<<"face"<<"this is a cool child");

qtablewidget 列表组件

    ui->table->setColumnCount(3);                                                                                    设置多少列
    ui->table->setHorizontalHeaderLabels(QStringList()<<"name"<<"age"<<"xingbie");   设置水平列名
    ui->table->setRowCount(5);                                                                                          设置行数
    ui->table->setItem(0,0,new QTableWidgetItem("wd"));                                                 设置某个单元格内容
    QStringList name;  
    name<<"wangdong "<<"fuda"<<"yahui"<<"jiandong"<<"huge";                                    整体设置单元格内容
    for(int i = 0;i<name.count();i++){
        ui->table->setItem(i,0,new QTableWidgetItem(name[i]));
    }

     QString::number(18+i)                                                                                                    int 转 string

ui->stackedWidget_2->setCurrentIndex(2);          设置栈控件

ui->comboBox->addItems(QStringList()<<"benchi"<<"baoma"<<"dazhong"); 设置下拉框

    QMovie * gif = new QMovie(":/textures/tbs.gif");             利用lable显示动图
    ui->label_image->setMovie(gif);
    gif->start();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值