listWidget = QListWidget() #实例化一个(itembase)的列表
listWidget.addItem('dd') #添加一个项
listWidget.addItems([]) # 从序列中添加子项
listWidget.setDragEnabled(True)#设置拖拉
listWidget.sortItems() #排序
listWidget.selectAll()全选
listWidget.setSortingEnabled(bool)#设置自动排序
listWidget.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)#设置选择模式
选择模式有:ExtendedSelection 按住ctrl多选,SingleSelection 单选 MultiSelection 点击多选 ContiguousSelection鼠标拖拉多选
listWidget.setCurrentRow(0) 设置当前选择行默认为-1
listWidget.count() #得到子项总数
listWidget.item(row).text() #得到第 row行的内容 listWidget.item(row) 返回一个item 对象
listWidget.takeItem(row) #返回row 行的所在的item 对象 可以用在 insertItem()中
listWidget.insertItem(2,item) #在第二行插入一项item 可谓为一个listviewitem对象 或者string
listWidget.setCurrentItem('dd')#设置'dd'为当前项
listWidget.selectedItems() 返回一个包含item对象 的list 对象
修改item 的内容
item.setText('dsds') # 设置item的内容为dsdsitem为对象 可从 listWidget.item(row) takeItem(row) 得到
QListWidget的用法
setSelectionMode()设置list一次最多可以选择多少item
有两种方法来listwidget中添加Item,一种是在item构造时候,指定父widget,
如果item构造时候QListWidget已经存在,可以用下面的方法
new QListWidgetItem(tr("Oak"), listWidget);
第二种方法是构造完item,在使用QListWidget::addItem()来添加item
向QListWidget中指定的位置插入item,使用QListWidget::insertItem(int , QListWidgetItem*)
使用QListWidget::count()来统计widget中总共的item数目
使用QListWidget::takeItem(int index)来删除表中的某一项
打开和关闭item是否可以编辑使用QListWidget::openPersistentEditor(QListWidgetItem*)和
QListWidget::closePersistentEditor(QListWidgetItem*)
设置当前的item是第几行,QListWidget::setCurrentRow ( int row )
设置list是否可以自动排序QListWidget::setSortingEnabled(bool),默认是FALSE
从list中查找是否含有某一项,
QList<QListWidgetItem *> QListWidget::findItems ( const QString & text, Qt::MatchFlags flags ) const
信号
void currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous )
void currentRowChanged ( int currentRow )
void currentTextChanged ( const QString & currentText )
void itemActivated ( QListWidgetItem * item )
void itemChanged ( QListWidgetItem * item )
void itemClicked ( QListWidgetItem * item )
void itemDoubleClicked ( QListWidgetItem * item )
void itemEntered ( QListWidgetItem * item )
void itemPressed ( QListWidgetItem * item )
void itemSelectionChanged ()
selectedItems() 方法,获取被选中的项,可以是多项
当item改变时候,会发射信号currentItemChanged 、currentRowChanged、currentTextChanged 、itemSelectionChanged 、itemChanged ,感觉这些信号其实效果都是一样的,只不过用在不同的时候
2. TextEdit 类
设置TextEdit的内容为“”:text.setPlainText("")
获取TextEdit的内容:text.toPlainText()
3. ComboBox 类
ComboBox类详细介绍: http://book.51cto.com/art/201203/323502.htm
fromComboBox = QComboBox() 添加一个 combobox
fromComboBox.addItem(rates) 添加一个下拉选项
fromComboBox.addItems(["%d years" % x for x in range(2, 26)]) 从序列中添加
fromComboBox.setMaxVisibleItems(10) #设置最大显示下列项 超过要使用滚动条拖拉
fromComboBox.setMaxCount(5) #设置最大下拉项 超过将不显示
fromComboBox.setInsertPolicy(QComboBox.InsertAfterCurrent) #设置插入方式
插入方式有:NoInsert,InsertAtTop,InsertAtCurrent,InsertAtBottom,InsertAfterCurrent
InsertBeforeCurrent,InsertAlphabetically字面意思都好理解 最后一个是按字母表顺序插入
QComboBox 发出一个currentIndexChanged(int) 的信号.
QComboBox 得到当前项 currentIndex() + 1 #QComboBox 默认的currentIndex为 -1
setCurrentIndex可以来设置当前的项
QVariant QComboBox::itemData ( int index, int role = Qt::UserRole ) const 返回给定index处的数据
QComboBox.findText('dsfds') #返回 内容为dsfds的索引
QComboBox.setEditText()设置下拉列表要显示的可编辑内容
QComboBox 得到当前项文本内容 currentText()
当QComboBox当前项发生变化时候,它会发出信号currentIndexChanged(int i),i是改变后当前项的下标,可以编写SLOT来处理
设置ComboBox为可编辑下拉列表框:fromComboBox.editable = true
设置第一项为当前项目: fromComboBox.setCurrentIndex(0)
4. LineEdit 类
将LineEdit框设置成密码输入框:line.setEchoMode(QLineEdit::Password)
获取linedit的值: line.text()
给lineedit 赋值为空: line.setText()
5. MessageBox 类
实例介绍:(实现提示框)
@kuang = Qt::MessageBox.new(Qt::MessageBox::NoIcon, "提示", "登录成功!", 0, self)
@kuang.addButton("确定",Qt::MessageBox::AcceptRole)
@kuang.exec()
这样就可以创建一个提示登录成功的窗口。(注:这是在QtRuby 中的相关代码。)
6. TabelWidget类
设置行表头隐藏:
verticalHeader().setVisible(false);
设置列表头隐藏:
horizontalHeader().setVisible(false);