splitter_2->addWidget(tableView);
verticalLayout->addWidget(splitter_2);
retranslateUi(Dialog);
QMetaObject::connectSlotsByName(Dialog); } // setupUi
void retranslateUi(QDialog *Dialog) {
Dialog->setWindowTitle(QApplication::translate(\\ comboBox->clear();
comboBox->insertItems(0, QStringList() <<
QApplication::translate(\
0,
\QApplication::UnicodeUTF8) <<
QApplication::translate(\
0,
\QApplication::UnicodeUTF8) );
Q_UNUSED(Dialog); } // retranslateUi };
namespace Ui {
class dir: public Ui_Dialog {}; } // namespace Ui
QT_END_NAMESPACE
#endif // UI_DIR_H
请使用Qdir实现treeview,listview,tableview项目
答: dir.h #ifndef DIR_H #define DIR_H
#include
class Dir : public QDialog, public Ui::dir {
Q_OBJECT
public:
Dir(QWidget *parent = 0);
public slots: }; #endif
dir.cpp #include
Dir::Dir(QWidget *parent) {
setupUi(this); QDirModel *dirModel;
QStringList filter; :QDialog(parent)
void chooseMode(int);
dirModel=new QDirModel(filter,QDir::Dirs|
QDir::NoDotAndDotDot,QDir::DirsFirst|QDir::Name|QDir::Type);
treeView->setModel(dirModel); treeView->hideColumn(1); treeView->hideColumn(2); treeView->hideColumn(3); tableView->setModel(dirModel); listView->setModel(dirModel);
//tableView->hide();
comboBox=new QComboBox();
comboBox->addItem(tr(\以图标方式显示\comboBox->addItem(tr(\以列表方式显示\comboBox->addItem(tr(\以详细信息方式显示\
comboBox->setCurrentIndex(0);
//selectionModel=ui->treeView->selectionModel();
connect(treeView,SIGNAL(doubleClicked(QModelIndex)),listView,SLOT(setRootIndex
(QModelIndex)));
connect(treeView,SIGNAL(doubleClicked(QModelIndex)),tableView,SLOT(setRootInde
x(QModelIndex))); }
void Dir::chooseMode(int i) {
/*if(i==0) {
tableView->hide(); listView->show(); } if(i==1) {
listView->hide(); tableView->show();
connect(comboBox,SIGNAL(activated(int)),this,SLOT(chooseMode(int)));
}*/ }
main.cpp
#include
int main(int argc,char *argv[]) { }
return app.exec(); Dir *adddir = new Dir; adddir->show();
QApplication app(argc,argv);
10、编写一个简单的程序,它包含两个列表框,使用for循环向左边的列表框添加几个条目。点击>按钮可以将左边选中的条目添加到右边.点击<按钮可以将右边选中的条目添加到左边。点击>>按钮可以将左边的所有条目添加到右边。
(提示:列表框控件的类是QListWidget。应该熟悉QListWidget常用的一些方法及信号和槽。) 运行结果如图:
答:
ui_listbox.h
/********************************************************************************
** Form generated from reading ui file 'listbox.ui' **
** Created: Mon Jul 7 00:10:58 2008
** by: Qt User Interface Compiler version 4.4.0 **
** WARNING! All changes made in this file will be lost when recompiling ui file! ********************************************************************************/
#ifndef UI_LISTBOX_H #define UI_LISTBOX_H
#include
QT_BEGIN_NAMESPACE
class Ui_Form { public:
QListWidget *leftList; QListWidget *rightList; QPushButton *add; QPushButton *remove; QPushButton *addAll; QPushButton *removeAll;
void setupUi(QWidget *Form) {
if (Form->objectName().isEmpty())