精华内容
下载资源
问答
  • QT combobox(下拉列表框)的基本使用
    2022-03-31 16:28:14
    #include "widget.h"
    #include "ui_widget.h"
    #include<QStringList>
    #include<QComboBox>
    #include<QDebug>
    
    Widget::Widget(QWidget *parent)
        : QWidget(parent)
        , ui(new Ui::Widget)
    {
        ui->setupUi(this);
    //    QStringList  name;
    //    name <<"宝马"<<"五菱宏光"<<"奥迪";
    //    ui->comboBox->addItems(name);
        ui->comboBox->addItems(QStringList()<<"宝马"<<"奔驰"<<"奥迪"<<"玛莎拉蒂");
        ui->comboBox->setCurrentIndex(2);//设置默认选项
        void (QComboBox:: *p)(int)=&QComboBox::currentIndexChanged;//信号重载 用函数指针
        connect(ui->comboBox,p,[=](int index){
            qDebug()<<index;
            qDebug()<<ui->comboBox->currentText();
        });
    
    
    
    
    }
    
    Widget::~Widget()
    {
        delete ui;
    }
    
    

    更多相关内容
  • 在QTableView 中添加Combo控件,实现列表中的下拉选择控件,在Qt中Demo有了编辑框和spin的列表控件,我在demo中spin的工程中添加了combo,实现列表中的combo下拉选择控件,其他的控件也可以参考此方法开发,新加的为...
  • 通过基本控件QPushButton,QWidget,实现下拉菜单,可以展开多级菜单。
  • QT控件QComboBox定制下拉列表为复选框的一个简单示例,在QT5.9环境下编译调试通过,可以参考此例子中的方法,进行定制修改。
  • 课程目录视频链接课程重点代码位置完整代码遇到的问题改写效果展示改写注意点...下拉列表控件(QComboBox) 课程重点 代码位置 完整代码 遇到的问题 改写效果展示 改写注意点 改写代码(QTdesigner模式) ...

    ** >>> 点击进入:pyqt5专栏<<<**

    老师原课件下载地址:
    有积分的朋友,支持下我,打赏也OK。
    不下载也可以,我每节课会吧代码贴出来


    视频链接

    P39课时40.下拉列表控件(QComboBox)


    课程重点

    下拉列表
    在这里插入图片描述


    代码位置

    在这里插入图片描述


    完整代码

    '''
    
    下拉列表控件(QComboBox)
    
    1. 如果将列表项添加到QComboBox控件中
    
    2. 如何获取选中的列表项
    
    '''
    
    import sys
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    from PyQt5.QtWidgets import *
    
    class QComboBoxDemo(QWidget):
        def __init__(self):
            super(QComboBoxDemo,self).__init__()
            self.initUI()
    
        def initUI(self):
            self.setWindowTitle('下拉列表控件演示')
            self.resize(300,100)
    
            layout = QVBoxLayout()
    
            self.label = QLabel('请选择编程语言')
    
            self.cb = QComboBox()
            self.cb.addItem('C++')
            self.cb.addItem('Python')
            self.cb.addItems(['Java','C#','Ruby'])
    
            self.cb.currentIndexChanged.connect(self.selectionChange)
    
            layout.addWidget(self.label)
            layout.addWidget(self.cb)
    
            self.setLayout(layout)
    
        def selectionChange(self,i):
            self.label.setText(self.cb.currentText())
            self.label.adjustSize()
    
            for count in range(self.cb.count()):
                print('item' + str(count) + '=' + self.cb.itemText(count))
    
            print('current index',i,'selection changed', self.cb.currentText())
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        main = QComboBoxDemo()
        main.show()
        sys.exit(app.exec_())
    

    遇到的问题


    改写效果展示

    在这里插入图片描述


    改写注意点

    双击窗口,弹出添加框
    在这里插入图片描述

    测试功能:sizeAdjustPolicy
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    说明这个设置优先级高一些!
    在这里插入图片描述


    改写代码(QTdesigner模式)

    # -*- coding:utf-8 -*-
    '''
    @Author: knocky
    @Blog: https://blog.csdn.net/zzx188891020
    @E-mail: 188891020@qq.com
    @File: class_X.py
    @CreateTime: 2020/5/11 23:36
    '''
    
    import sys
    from PyQt5.QtWidgets import QApplication
    from PyQt5 import uic
    
    
    class my_form():
        def __init__(self):
            super().__init__()
            self.ui = uic.loadUi("../ui_package/class40.ui")
            self.ui.comboBox.currentIndexChanged.connect(self.selectionChange)
    
        def selectionChange(self, i): # 这里的i应该是接受信号,说明currentIndexChanged有返回值
            self.ui.label.setText(self.ui.comboBox.currentText())
            self.ui.label.adjustSize()
    
            for count in range(self.ui.comboBox.count()):
                print('item' + str(count) + '=' + self.ui.comboBox.itemText(count))
    
            print('current index', i, 'selection changed', self.ui.comboBox.currentText())
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        main = my_form()
        main.ui.show()
        sys.exit(app.exec_())
    
    
    展开全文
  • 最近研究了好多东西,前两天突然想做一个具有复选功能的下拉列表框。然后在网上“学习”了很久之后,终于发现了一个可以用的,特地发出来记录一下。 一、第一步肯定是先创建一个PROJECT了,这里对工 PROJECT的...

    最近研究了好多东西,前两天突然想做一个具有复选功能的下拉列表框。然后在网上“学习”了很久之后,终于发现了一个可以用的,特地发出来记录一下。

     

    一、第一步肯定是先创建一个PROJECT了,这里对工 PROJECT的类型没有太大的要求,QMainWindow、QWidget、QDialog都是没关系的。

     

     

     

    二、这里需要添加我们的代码了。这里我们用CCheckCombox来命名把,添加新文件:CCheckCombox.h和对应的CCheckCombox.cpp。

     

    CCheckCombox.h的文件代码如下:

     

     1 #ifndef CCHECKCOMBOX_H
     2 #define CCHECKCOMBOX_H
     3 
     4 #include <QComboBox>
     5 #include <QMouseEvent>
     6 #include <QAbstractItemView>
     7 #include <QItemSelectionModel>
     8 
     9 class CCheckCombox : public QComboBox
    10 {
    11     Q_OBJECT
    12 public:
    13     explicit CCheckCombox(QWidget *parent = 0);
    14 
    15     //添加下拉框内容
    16     void appendItem(const QString &text, bool bChecked);
    17 
    18     //QComboBox的虚函数用来隐藏列表框,当单击是复选框时不让隐藏,用来改变状态
    19     void hidePopup();
    20 
    21 protected:
    22     void mousePressEvent(QMouseEvent *event);
    23 
    24 private:
    25     //更新更改项的状态
    26     void updateIndexStatus(int index);
    27 
    28 signals:
    29     //状态改变后发送一个信号,告诉外界。
    30     void checkedStateChange(int index, bool bChecked);
    31 
    32 public slots:
    33 
    34 };
    35 
    36 #endif // CCHECKCOMBOX_H

     

     

    然后是我们的CCheckCom.cpp的代码:

     

     1 #include "ccheckcombox.h"
     2 
     3 CCheckCombox::CCheckCombox(QWidget *parent) :
     4     QComboBox(parent)
     5 {
     6 
     7 }
     8 
     9 void CCheckCombox::appendItem(const QString &text, bool bChecked)
    10 {
    11     QIcon icon;
    12     if( bChecked )
    13     {
    14         icon.addFile(":/Image/check.png");
    15     }
    16     else
    17     {
    18         icon.addFile(":/Image/uncheck.png");
    19     }
    20 
    21     addItem(icon, text, bChecked);
    22 }
    23 
    24 void CCheckCombox::updateIndexStatus(int index)
    25 {
    26     bool bChecked = this->itemData(index).toBool();
    27 
    28     if( bChecked )
    29     {
    30         this->setItemIcon(index, QIcon(":/Image/uncheck.png"));
    31     }
    32     else
    33     {
    34         this->setItemIcon(index, QIcon(":/Image/check.png"));
    35     }
    36 
    37     setItemData(index, !bChecked);
    38 
    39     emit checkedStateChange(index, !bChecked);
    40 }
    41 
    42 void CCheckCombox::mousePressEvent(QMouseEvent *event)
    43 {
    44     int x = event->pos().x();
    45 
    46     int iconWidth = this->iconSize().width();
    47 
    48     if( x <= iconWidth )
    49     {
    50         int index = this->currentIndex();
    51 
    52         updateIndexStatus(index);
    53     }
    54     else
    55     {
    56         QComboBox::mousePressEvent(event);
    57     }
    58 }
    59 
    60 void CCheckCombox::hidePopup()
    61 {
    62     int iconWidth = this->iconSize().width();
    63 
    64     int x = QCursor::pos().x() - mapToGlobal(geometry().topLeft()).x() + geometry().x();
    65 
    66     int index = view()->selectionModel()->currentIndex().row();
    67 
    68     if( x >= 0 && x <= iconWidth )
    69     {
    70         updateIndexStatus(index);
    71     }
    72     else
    73     {
    74         QComboBox::hidePopup();
    75     }
    76 }

     

     

     

    值得注意的是,这里我们的选中和为选种采用了图片来确定。所以我们还需要通过截图来获得一个对勾选中和一个为选中图片。

    然后我们的这个时候需要从ui中托一个Combobox控件到窗口上。

     

     

    之后我们需要把这个Combobox控件提升为一个CCheckCombox的类:

    右键单击控件选择提升为,之后填入相应的信息。

     

    第一步输入类名称,然后点击添加,第三步需要点击添加后的类名称选中。然后点击提升类。

     

    到这里,我们的CCheckCombox已经成功提升了,接下来就是添加里边的item了。

     

    我这里构造了一个ADD方法来添加测试item,大家使用的时候直接调用appendItem()方法就可以直接添加,第一个参数为text,第二个参数为默认选中状态。

    然后我们测试一下,看行不行。。。。。。

    item是成功添加了,但是还没有复选框,原因在于,我们刚才说到,这里的选中状态是由图片来控制的,所以我们要带入资源文件。

     

    添加成功过之后我们再来测试一下。

     

     

    好的,到这里,我们的控件已经可以使用了,后期我们如果要取出这些选中的内容的话,只需要使用itemData(i).toBool()方法来判断就行了。

     

     下面是本文用到的代码相关文件。CCheckCombox的两个文件来自网络,不记得是哪位大佬发的了,在这里特别感谢。

     下载地址:https://git.coding.net/HULANG-BTB/QT_CCheckCombox.git

    转载于:https://www.cnblogs.com/HULANG-BTB/p/8612654.html

    展开全文
  • PyQt5最全16 QComboBox下拉列表控件 from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * import sys class QComboBoxDemo(QWidget): """ QComboBox 下拉列表控件 1.如何将...

    PyQt5最全16 QComboBox下拉列表控件

    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    import sys
    
    
    class QComboBoxDemo(QWidget):
        """
        QComboBox
        下拉列表控件
        1.如何将列表项添加到QComboBox控件中
        2.如何获取选中的列表项
        """
        def __init__(self):
            super(QComboBoxDemo, self).__init__()
            self.initUI()
    
        def initUI(self):
            self.setWindowTitle('下拉列表控件演示')
    
            layout = QVBoxLayout()
            self.resize(400, 300)
    
            self.label = QLabel('请选择编程语言')
            self.cb = QComboBox()
            self.cb.addItem('C++')
            self.cb.addItem('Python')
            self.cb.addItems(['Java', 'C#', 'Ruby'])
    
            self.cb.currentIndexChanged.connect(self.selectionChange)
            layout.addWidget(self.label)
            layout.addWidget(self.cb)
    
            self.setLayout(layout)
    
        def selectionChange(self, i):
            self.label.setText(self.cb.currentText())
            self.label.adjustSize()
    
            for count in range(self.cb.count()):
                print('items' + str(count) + '=' + self.cb.itemText(count), end='\t')
            print('\ncurrent index', i, 'selection changed', self.cb.currentText() + '\n')
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        main = QComboBoxDemo()
        print(main.__doc__)
        main.show()
        sys.exit(app.exec_())
    
    

    结果

    在这里插入图片描述

    
        QComboBox
        下拉列表控件
        1.如何将列表项添加到QComboBox控件中
        2.如何获取选中的列表项
        
    items0=C++	items1=Python	items2=Java	items3=C#	items4=Ruby	
    current index 1 selection changed Python
    
    
    展开全文
  • Qt qml listview下拉刷新和上拉分页主要根据contentY来判断。但要加上顶部下拉指示器、滚动条,并封装成可简单调用的组件,着实花了我不少精力:) 先给大家展示下效果图: 【功能】 下拉刷新和上拉分页逻辑 /...
  • 可输入的下拉列表控件jquery.editable-select,官方的控件不支持<option value='1'>2无法获得value 的值,经过修改,可以获得到value 值,很方便使用
  • Qt之实现下拉列表菜单

    万次阅读 2017-11-16 12:21:37
     在QGraphicsItem下使用QListWidget实现下拉列表的功能,并显示所有的选项,便于浏览和查询数据。 二、详解 1、部分代码 (1)clusterlistwidget.h [html] view plain copy ...
  • 需要的控件:QpushButton,QWidget,QsScrollAreaDemo用的是Qt5.10,需要的自行下载。 http://download.csdn.net/download/figo_lyf001/10267449原理:QScrollArea做边框,QWidget做按钮背景界面,QVBoxLayout做垂直...
  • 这是第二波控件 其中qtButton.h中的程序是 #ifndef QTBUTTON_H #define QTBUTTON_H #include #include "ui_qtbutton.h" //------------------------------- #include #include #include #include #...
  • QT_下拉选项框_Combo Box_使用

    千次阅读 2022-01-11 16:39:02
    方法 描述 addItem() 添加一个下拉选项 addItems() 从列表中添加下拉选项 clear() 删除下拉选项集合中的所有选项 count() 返回下拉选项集合中的数目 currentText() 返回选中选项的文本 itemText(i) 获取索引为i的...
  • Qt ComboBox下拉列框控件的用法

    千次阅读 2019-08-16 15:16:27
    QComboBox是下拉列表框组件类,它提供一个下拉列表供用户选择,也可以直接当作一个 QLineEdit 用作输入。QComboBox 除了显示可见下拉列表外,每个项(item,或称列表项)还可以关联一个 QVariant 类型的变量,用于...
  • 在打开的界面中切换到“索引”页签中,在索引框中输入“stylesheet”关键字,在搜索结果列表中选择第一个,就会看到右侧界面中会展示当前检索的内容信息,如下图: 在上面我们可以关注两个内容,“Qt Style ...
  • 控件简介2. 用法示例3. 运行效果二、QFontComboBox1. 控件简介2. 用法示例3. 运行效果三、QLineEdit1. 控件简介2. 用法示例3. 运行效果四、QTextEdit1. 控件简介2. 用法示例3. 运行效果五、QPlainTextEdit1. 控件...
  • 如何将列表项添加到QComBoBox控件中 如何获取选中的列表项 import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import * class QComBoBoxDemo(QWidget): def __init__(self)...
  • :~MultiComBox() 29. { 30. 31. } 32. 33. //************************************************* 34. //Function: AddItems 35. //Description: 添加下拉菜单内容 36. //Input: menus:菜单内容列表 37. //Return...
  • 上篇文章实现了下拉复选框的基本功能,但是从观感上将并不美观,在了解QComboBox样式表中的基本属性后,从输入框,下拉按钮,下拉框,搜索框,滚动条这五个方向对齐进行美化
  • 下拉列表框QComboBox类
  • qt5之下拉列表框QComboBox

    千次阅读 2019-03-07 14:45:40
    QComboBox提供了下拉列表框的控件。下面简单介绍几个的方法和属性。  (1)addItems  void addItem(const QString &amp;amp;amp;amp;amp;amp;amp;text, const QVariant &amp;amp;amp;amp;amp;amp;amp;...
  • 主要介绍了python GUI库图形界面开发之PyQt5下拉列表控件QComboBox详细使用方法与实例,需要的朋友可以参考下
  • 代码实现Qt的日期控件自带方法显示下拉选择日期,QGroupBox在Ubuntu下不显示边框,本程序用QSS的方式实现。这两个没啥关系,只是在做一个项目的时候用到了这两点,就放在了一个例程中,没技术含量,只为记录一下。...
  • QT 下拉菜单实现

    2021-12-06 17:25:24
    Refresh_StuListAction->setText(tr("刷新学生列表")); Setup_ShortcutsAction->setText(tr("生成快捷方式")); setUpMenu->addAction(Tech_modeAction); setUpMenu->addAction(Refresh_StuListAction); setUp...
  • qt 动态列表,支持增删该,简单使用,CSS美观下 效果更好
  • Qt自制像下拉列表那样点一下有东西出来点一下其他地方出来的东西就隐藏起来要怎么写,给我个大概思路
  • 描述,第一个下拉菜单代表省,选择后控制第二个城市的下拉菜单,每个城市有相应编码,打印选中的城市编码: 代码如下: from PyQt5.Qt import * class Window(QWidget): def __init__(self): super().__init__()...
  • 其实,在这里之前看了许多自定义颜色控件,有的是采用继承QPushButton。点击后,直接弹出 QColorDialog,然后重写 paintEvent()函数,绘制背景为选中的颜色。但是,都没有下拉选择颜色的感觉。 也有的继承 QCombox。...

空空如也

空空如也

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

qt下拉列表控件