范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Qt布局管理器

  QT中提供了对界面组件进行布局管理的类,用于对界面组件进行管理, 能够自动排列窗口中的界面组件 窗口大小变化后,便会自动更新界面组件的大小。 布局管理器可以自定义,从而达到更加个性化界面布局的效果 布局管理器可以相互嵌套,完成所有常用的界面布局 QLayout是Qt中布局管理器的抽象基类,如下图所示:
  回到顶部 1. 实例参考
  1 #include "testlayout.h"  2  #include   4 #include   5 #include   6 #include   7 #include   8 #include   9  int main(int argc, char *argv[]) 11 { 12     QApplication a(argc, argv); 13     TestLayout w; 14  15     //设置标签,并且设置快捷键 16     QLabel *nameLabel = new QLabel("姓名:(&N)"); 17     QLabel *ageLabel = new QLabel("年龄:(&A)"); 18     QLabel *emailLabel = new QLabel("邮箱:(&E)"); 19     QLabel *numLabel = new QLabel("门牌号码:"); 20  21     //创建三个输入框 22     QLineEdit *nameLineEdit = new QLineEdit; 23     QLineEdit *ageLineEdit = new QLineEdit; 24     QLineEdit *emailLineEdit = new QLineEdit; 25     QLineEdit *numLineEdit = new QLineEdit; 26  27     //设置标签与输入框的伙伴关系 28     nameLabel->setBuddy(nameLineEdit); 29     ageLabel->setBuddy(ageLineEdit); 30     emailLabel->setBuddy(emailLineEdit); 31     numLabel->setBuddy(numLineEdit); 32  33     //表单布局 34     QFormLayout *headerLayout = new QFormLayout; 35     headerLayout->addRow(nameLabel,nameLineEdit); 36     headerLayout->addRow(ageLabel,ageLineEdit); 37     headerLayout->addRow(emailLabel,emailLineEdit); 38     headerLayout->addRow(numLabel,numLineEdit); 39  40     //单选按钮 41     QLabel *sexLabel = new QLabel("性别:"); 42     QRadioButton *mBtn = new QRadioButton; 43     QRadioButton *wBtn = new QRadioButton; 44     mBtn->setText("男"); 45     wBtn->setText("女"); 46  47     //水平布局 QHBoxLayout, H:horizontal 水平 48     QHBoxLayout *sexLayout = new QHBoxLayout; 49     sexLayout->addWidget(sexLabel); 50     sexLayout->addWidget(mBtn); 51     sexLayout->addWidget(wBtn); 52  53     /* 54      * QSpacerItem 为添加空隙的函数,他的四个参数为:空隙区域的宽,空隙区域的高, 高的尺寸策略最小到无限大, 水平方向的的尺寸策略最小到无限大 55      * QSpacerItem(int w, int h, QSizePolicy::Policy hPolicy = QSizePolicy::Minimum, QSizePolicy::Policy vPolicy = QSizePolicy::Minimum)*/ 56     QSpacerItem *spacer = new QSpacerItem(20,10); 57     QSpacerItem *spacerL = new QSpacerItem(50,50); 58     QSpacerItem *spacerR = new QSpacerItem(50,50); 59  60     //添加按钮 61     QPushButton *okBtn = new QPushButton("确定"); 62  63     //为了让确认按钮窄点,将两个空隙放到确认按钮两旁 64     QHBoxLayout *QHLayoutOK = new QHBoxLayout; 65     QHLayoutOK->addItem(spacerL); 66     QHLayoutOK->addWidget(okBtn); 67     QHLayoutOK->addItem(spacerR); 68  69     //垂直布局 QVBoxLayout,V:vertical 垂直 70     QVBoxLayout *mainLayout = new QVBoxLayout; 71     mainLayout->addLayout(headerLayout);        //addLayout 添加布局 72     mainLayout->addLayout(sexLayout); 73     mainLayout->addItem(spacer);                  //addItem 添加空隙 74     //mainLayout->addWidget(okBtn);               //addWidget 添加部件 75     mainLayout->addLayout(QHLayoutOK); 76  77     //设置部件与窗体之间的空隙 78     mainLayout->setMargin(25); 79  80     //设置控件之间的间隙 81     mainLayout->setSpacing(10); 82  83     //调用加载窗口的布局 84     w.setLayout(mainLayout); 85     w.show(); 86     return a.exec(); 87 }
  回到顶部
  点击领取Qt学习资料+视频教程~「链接」
  2.QBoxLayout 水平/垂直布局
  QBoxLayout有两个子类: QHBoxLayout (水平)和 QVBoxLayout (垂直)
  比如垂直布局,表示将垂直方向分为一个个格子,如下图所示:
  2.1QVBoxLayout使用(垂直)int main(int argc, char *argv[]) {      QApplication a(argc, argv);     QWidget w;      QVBoxLayout *layout=new QVBoxLayout;        QPushButton btn1("test1",&w);     QPushButton btn2("test2",&w);     QPushButton btn3("test3",&w);      btn1.setMaximumSize(600,360);     btn1.setMinimumSize(100,60);     btn2.setMaximumSize(600,360);     btn2.setMinimumSize(100,60);     btn3.setMaximumSize(600,360);     btn3.setMinimumSize(100,60);         layout->addWidget(&btn1);       //向布局管理器添加组件,实现自动布局      layout->addWidget(&btn2);      layout->addWidget(&btn3);       w.setLayout(layout);           //为部件设置布局管理器       layout->setSpacing(10);       w.show();      return a.exec(); }2.2QHBoxLayout使用(水平)int main(int argc, char *argv[]) {      QApplication a(argc, argv);    QWidget w;      QHBoxLayout *layout=new QHBoxLayout;      QPushButton btn1("test1",&w);     QPushButton btn2("test2",&w);     QPushButton btn3("test3",&w);      btn1.setMaximumSize(600,360);     btn1.setMinimumSize(100,60);     btn2.setMaximumSize(600,360);     btn2.setMinimumSize(100,60);     btn3.setMaximumSize(600,360);     btn3.setMinimumSize(100,60);       layout->addWidget(&btn1);       //向布局管理器添加组件,实现自动布局      layout->addWidget(&btn2);      layout->addWidget(&btn3);      w.setLayout(layout);           //为部件设置布局管理器       layout->setSpacing(10);       w.show();      return a.exec(); }2.3QBoxLayout相互嵌套
  1.1与1.2写了 QHBoxLayout (水平)和 QVBoxLayout (垂直),但是只是单方面自动布局.
  接下来, 来使用 嵌套 ,来实现 水平+垂直 自动布局,如下图所示:
  int main(int argc, char *argv[]) {     QApplication a(argc, argv);      QHBoxLayout *Hlayout1=new QHBoxLayout;     QHBoxLayout *Hlayout2=new QHBoxLayout;     QVBoxLayout *Vlayout=new QVBoxLayout;      QWidget w;      QPushButton btn1("test1",&w);     QPushButton btn2("test2",&w);     QPushButton btn3("test3",&w);     QPushButton btn4("test4",&w);     btn1.setMaximumSize(600,360);     btn1.setMinimumSize(100,60);     btn2.setMaximumSize(600,360);     btn2.setMinimumSize(100,60);     btn3.setMaximumSize(600,360);     btn3.setMinimumSize(100,60);     btn4.setMaximumSize(600,360);     btn4.setMinimumSize(100,60);      Hlayout1->addWidget(&btn1);       //水平布局: btn1  btn2     Hlayout1->addWidget(&btn2);     Hlayout1->setSpacing(10);      Hlayout2->addWidget(&btn3);      //水平布局: btn3  btn4     Hlayout2->addWidget(&btn4);     Hlayout2->setSpacing(10);      Vlayout->addLayout(Hlayout1);     //垂直布局: Hlayout1 Hlayout2     Vlayout->addLayout(Hlayout2);     Vlayout->setSpacing(10);      w.setLayout(Vlayout);           //设置布局管理器,由于Vlayout管理着Hlayout1 Hlayout2,所以只填写一个即可      w.show();      return a.exec(); }
  布局管理器比例系数
  默认情况下,组件之间以等比例的方式改变组件大小.
  其实用户也可以 自定义 组件之间比例系数,当窗口放大时,便来更新比例系数.
  常用函数: QBoxLayout::setStretch ( int index, int stretch );     //设置具体组件的拉伸系数 // index:表示布局管理器里的第几个组件 // stretch :拉伸系数  bool  QBoxLayout::setStretchFactor ( QWidget * widget, int stretch );                   //设置部件拉伸系数,如果存在*widget这个组件,则设置成功,返回true bool QBoxLayout::setStretchFactor ( QLayout * layout, int stretch );                   //设置布局拉伸系数, ,如果存在*layout这个组件,则设置成功,返回true
  示例代码如下: int main(int argc, char *argv[]) {     QApplication a(argc, argv);     QHBoxLayout *Hlayout1=new QHBoxLayout;     QHBoxLayout *Hlayout2=new QHBoxLayout;     QVBoxLayout *Vlayout=new QVBoxLayout;     QWidget w;     QPushButton btn1("test1",&w);     QPushButton btn2("test2",&w);     QPushButton btn3("test3",&w);     QPushButton btn4("test4",&w);          btn1.setMinimumSize(100,60);      btn2.setMinimumSize(100,60);      btn3.setMinimumSize(100,60);      btn4.setMinimumSize(100,60);      //设置大小策略,Expanding表示组件可扩展      btn1.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);     btn2.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);     btn3.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);     btn4.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);      Hlayout1->addWidget(&btn1);       //水平布局: btn1  btn2     Hlayout1->addWidget(&btn2);     Hlayout1->setSpacing(10);     Hlayout2->addWidget(&btn3);      //水平布局: btn3  btn4     Hlayout2->addWidget(&btn4);     Hlayout2->setSpacing(10);      Vlayout->addLayout(Hlayout1);     //垂直布局: Hlayout1 Hlayout2     Vlayout->addLayout(Hlayout2);      Vlayout->setStretchFactor(Hlayout1,1);     Vlayout->setStretchFactor(Hlayout2,3);       Vlayout->setSpacing(10);     w.setLayout(Vlayout);           //设置布局管理器,由于Vlayout管理着Hlayout1 Hlayout2,所以只填写一个即可     w.show();     return a.exec(); }
  拉伸窗口后:
  回到顶部 3.QGridLayout网格布局3.1 以网格的方式管理界面组件
  类似于:嵌套方式来使用QBoxLayout.
  常用函数: void  addWidget ( QWidget * widget, int row, int column, Qt::Alignment alignment = 0 );                                    // row  column : 表示将widget这个部件放在网格哪个位置  void  addWidget ( QWidget * widget, int fromRow, int fromColumn, int rowSpan, int columnSpan, Qt::Alignment alignment = 0 );                                           // formRow  formColumn : 表示将widget这个部件放在网格哪个位置                                           // rowSpan: widget :这个部件占多少行                                           // columnSpan: widget :这个部件占多少列  void setColumnStretch(int column,int stretch);          //设置列拉伸系数                                   // column:设置布局管理器里的第几列,第1列为0  void setRowStretch(int row,int stretch);               //设置行拉伸系数                                   // row:设置的第几行
  示例代码: int main(int argc, char *argv[]) {     QApplication a(argc, argv);     QGridLayout *layout=new QGridLayout;     QWidget w;     QPushButton btn1("test1",&w);     QPushButton btn2("test2",&w);     QPushButton btn3("test3",&w);     QPushButton btn4("test4",&w);     btn1.setMinimumSize(100,60);     btn2.setMinimumSize(100,60);     btn3.setMinimumSize(100,60);     btn4.setMinimumSize(100,60);          //设置大小策略,Expanding表示组件可扩展      btn1.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);     btn2.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);     btn3.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);     btn4.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);          layout->addWidget(&btn1,0,0);     layout->addWidget(&btn2,0,1);     layout->addWidget(&btn3,1,0);     layout->addWidget(&btn4,1,1);     layout->setRowStretch(0,1);        //设置第0行,比例为1     layout->setRowStretch(1,2);        //设置第1行,比例为2     layout->setColumnStretch(0,1);     //设置第0列,比例为1     layout->setColumnStretch(1,2);     //设置第1列,比例为2     w.setLayout(layout);               //设置布局管理器     w.show();     return a.exec(); }
  拉伸窗口后:
  3.2 QGridLayout相互嵌套
  示例代码: int main(int argc, char *argv[]) {     QApplication a(argc, argv);     QGridLayout *layout=new QGridLayout;     QVBoxLayout *Vlyt=new QVBoxLayout;     QWidget w;     QPushButton btn1("test1",&w);     QPushButton btn2("test2",&w);     QPushButton btn3("test3",&w);     QPushButton btn4("test4",&w);     QPushButton btn5("test5",&w);     btn1.setMinimumSize(100,60);     btn2.setMinimumSize(100,60);     btn3.setMinimumSize(100,60);     btn4.setMinimumSize(100,30);        //btn4 btn5按钮需要缩小高度     btn5.setMinimumSize(100,30);      //设置大小策略,Expanding表示组件可扩展     btn1.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);     btn2.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);     btn3.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);     btn4.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);     btn5.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);      Vlyt->addWidget(&btn4);     Vlyt->addWidget(&btn5);     layout->addWidget(&btn1,0,0);     layout->addWidget(&btn2,0,1);     layout->addWidget(&btn3,1,0);     layout->addLayout(Vlyt,1,1);     layout->setRowStretch(0,1);        //设置第0行,比例为1     layout->setRowStretch(1,2);        //设置第1行,比例为2     layout->setColumnStretch(0,1);     //设置第0列,比例为1     layout->setColumnStretch(1,2);     //设置第1列,比例为2     w.setLayout(layout);              //设置布局管理器     w.show();     return a.exec(); }
  拉伸窗口后:
  回到顶部 4.QFormLayout表单布局
  以表单的方式管理界面组件,专为 标签 和 字段(组件) 的形式创建的
  表单布局也支持 嵌套 ,可以管理子布局
  常用函数: addRow ( QWidget * label, QWidget * field ); addRow ( QWidget * label, QLayout * field ); addRow ( const QString & labelText, QWidget * field ); addRow ( const QString & labelText, QLayout * field );  void setLabelAlignment ( Qt::Alignment alignment );             //设置标签对齐方式,比如标签左对齐  void  setRowWrapPolicy ( RowWrapPolicy policy );           //设置字段包装策略           //比如参数WrapLongRows:表示给标签足够长空间,如果一行满足不了标签和字段显示,则将字段放在下行显示           //参数QFormLayout::WrapAllRows: 示字段信息总在标签下面列出(占据整个行大小)
  示例代码: int main(int argc, char *argv[]) {      QApplication a(argc, argv);     QWidget w(0,Qt::WindowCloseButtonHint);     QLineEdit line1(&w);     QLineEdit line2(&w);     QLineEdit line3(&w);     QFormLayout *layout= new QFormLayout;     layout->addRow("姓名:",&line1);        layout->addRow("邮箱:",&line2);     layout->addRow("地址:",&line3);     layout->setRowWrapPolicy(QFormLayout::WrapAllRows); //设置字段总在标签下面     w.setLayout(layout);     w.show();     return a.exec(); }
  效果:
  回到顶部 5.QStackedLayout栈式布局将所有组件进行垂直管理 并且每次只能有 一个组件 现在在屏幕上 只有最顶层的组件才会被最终显示 常用于 图片播放 , 安装向导 等
  特点 组件大小一致且充满父组件的显示区 能够 自由切换 需要显示的组件 不能直接嵌套其它布局管理器,只能 间接嵌套
  常用函数: int addWidget ( QWidget * widget );               //顺序添加组件  int insertWidget ( int index, QWidget * widget );       //插入组件  void removeWidget ( QWidget * widget );                 //删除组件   QWidget * currentWidget() ;                            //返回当前组件  int   currentIndex();                                  //返回当前组件索引值  void setCurrentIndex ( int index );                    //切换当前组件  void setCurrentWidget ( QWidget * widget );            //更换当前显示的组件
  代码试验: 5.1 通过定时器自动切换QStackedLayout
  Widget.h #ifndef WIDGET_H #define WIDGET_H #include  #include  #include   class Widget : public QWidget {     Q_OBJECT     QTimer *timer;     QStackedLayout  *Stack;     QPushButton btn1;     QPushButton btn2;     QPushButton btn3;     QPushButton btn4;  private slots:      void  time_handler();  public:     explicit Widget(QWidget *parent = 0);  };  #endif // WIDGET_H
  Widget.cpp #include "Widget.h" #include  #include   Widget::Widget(QWidget *parent) :     QWidget(parent),     btn1("test1",this),     btn2("test2",this),     btn3("test3",this),     btn4("test4",this) {     btn1.setMinimumSize(80,40);      Stack = new QStackedLayout;      Stack->addWidget(&btn1);     Stack->addWidget(&btn2);     Stack->addWidget(&btn3);     Stack->addWidget(&btn4);      Stack->setCurrentIndex(0);     this->setLayout(Stack);       /*启动定时器*/      QTimer *timer = new QTimer(this);      connect(timer, SIGNAL(timeout()), this, SLOT(time_handler()));      timer->start(1000);        //1000ms }  void Widget::time_handler() {     static int index=1;     Stack->setCurrentIndex((index++)%4);        //切换页面     qDebug()<<"Timer out"; }
  main.cpp int main(int argc, char *argv[]) {     QApplication app(argc,argv);     Widget w;     w.show();     return app.exec(); }
  效果:
  5.2 验间接嵌套
  修改构造函数 Widget::Widget(QWidget *parent) :     QWidget(parent),     btn1("test1",this),     btn2("test2",this),     btn3("test3",this),     btn4("test4",this) {     btn1.setMinimumSize(80,40);      QWidget *w = new QWidget;      /*设置多个子组件的父类*/     btn3.setParent(w);     btn4.setParent(w);     btn3.setMinimumSize(120,60);     btn4.setMinimumSize(120,60);      /*通过其它布局管理器来管理*/     QVBoxLayout *Vlyt = new QVBoxLayout;     Vlyt->addWidget(&btn3);     Vlyt->addWidget(&btn4);     Vlyt->setSpacing(10);     w->setLayout(Vlyt);      Stack = new QStackedLayout;      Stack->addWidget(&btn1);     Stack->addWidget(&btn2);     Stack->addWidget(w);     Stack->setCurrentIndex(0);     this->setLayout(Stack);      /*启动定时器*/     QTimer *timer = new QTimer(this);     connect(timer, SIGNAL(timeout()), this, SLOT(time_handler()));     timer->start(1000);        //1000ms  }
  效果
  点击领取Qt学习资料+视频教程~「链接」

23城首套房贷利率放宽!专家重在满足刚需购房房贷利率有望再降。9月29日,央行银保监会发布阶段性放宽部分城市首套住房贷款利率下限(下称通知),决定阶段性调整差别化住房信贷政策。通知显示,对于2022年68月份新建商品住宅销售苹果重组AppleCar团队再次造车,预计2025年实现量产根据9月30日中国台湾媒体报道称,苹果公司将重新组建AppleCar团队,再次启动打造新能源电动车的泰坦计划,预计将在2025年实现量产上市。有业内分析认为,之前的AppleCar惠州富豪朱坤华36岁创立硕贝德,44岁公司上市,成手机天线之王朱坤华01朱坤华,1968年4月27日出生在广东惠州,小时候学习用功,非常懂事,家里兄弟多,朱坤华和兄弟朱旭东朱旭华感情深厚。朱坤华从广东省电子技术学校无线电专业毕业后,分配到惠州世界上最有钱的人贝佐斯(离婚分财后仍稳居世界第一)虽然按照福克斯的报告,目前全球有至少2千名亿万富翁,但实际上世界上最有钱的人身价已经超过了千亿元,他就是美国电商巨头亚马逊的老板杰夫贝佐斯,虽然他在离婚后,财富有受到影响,但依然稳养老金五个好消息出台,每个都关系到养老金的待遇,一起来看看点击上方收听全文养老金五个好消息出台,每个都关系到养老金的待遇,一起来看看。在当今社会,无论是上班族还是自由职业者,都会自己掏钱买保险,因为五险一金的实际作用对我们普通人来说是非常高端车市场遭冲击,智能化概念红利退潮,小牛电动面临困局受新国标影响,电动二轮车市场正迎来新一波换购潮,这对电动车企业来说,面临着新的红利期。与雅迪爱玛等行业巨头飘红的财报相比,被称二轮特斯拉的行业新贵小牛电动却交出了一份令投资者心情复为何会出现社保挂靠代缴?如何杜绝这种行为?有效治理社保挂靠代缴社保挂靠代缴反映出我国基本公共服务不足的问题。经过半年多专项整治,社保挂靠代缴现象基本得到了遏制。对监管部门来说,要堵住漏洞,也要疏通引导,还要强化服务。对通过比亚迪市值首破万亿,三款新车,亮相欧洲发布会近日,全球车企市值排名出炉,比亚迪市值首破万亿,跻身全球前三!德系汽车品牌市值被中国车企反超,这样的事实让德国车企如坐针毡,据悉某德国汽车品牌当机立断,决定拿出400亿欧元开发纯电酱油大王海天味业深陷舆论危机最近,因海天味业两张配料表所含添加剂的话题在各类平台异常爆火,对食品添加剂的使用和中国食品安全的讨论也是异常的火爆。有细心的网友发视频称,海天酱油产品的配料表中小麦天然原料谷氨酸钠人类发展遇到可怕敌人,看不见摸不着,但却一直存在身边人类文明发展到今天,我们人类可以毫不夸张的说已经成为了地球上最强大的生物,哪怕恐龙再次复活,人类的核武器可以让这些恐龙再毁灭一次。而地球上的其他生物要不然被人类关押在了动物园里面,北溪事件的幕后黑手,危害了世界几百年,曾使一个人类种族灭绝头条创作挑战赛俄媒9月30日最新报道,普京在克宫发表讲话指责盎格鲁撒克逊人对北溪天然气管道进行破坏,犹太人日耳曼人欧罗巴人大多数人都知道,盎撒人指的是谁?又生活在哪些国家呢?为什么
日本女权运动从开始到失败,从基本权利到平等权利的转变开始日本女权运动的历史可以追溯到19世纪末。当时,日本开始向西方国家学习,并逐渐接受了一些西方的社会和文化观念。这些观念包括性别平等女性权利和自由,这些都是在日本传统社会中被视为不朱温往事名字朱温呐!他有很多名字,他是他们家第三个孩子,小名朱三儿,嗯!没毛病。历史啊!似乎隐藏了他的第二个名字,他有两个哥哥,大哥朱全昱,二哥朱存,咋一看,也没啥!但结合后来唐僖宗赐名朱全忠资治通鉴武帝卷40人生不顺必须果断换赛道!通俗易懂说历史洞察人性阴暗,洞悉人心不堪人生如战场,办公室斗争必读日拱一卒,每天进步一点点我们接着说公孙弘弘哥做了宰相,公报私仇,要搞死长期以来一直对自己不礼貌不尊重的人,前面说了130米!考古实测隋唐长安城朱雀大街实际宽度!来源起点新闻近日,西安市文物保护考古研究院考古人员发布了隋唐长安城朱雀大街五桥并列遗址考古成果,在横穿朱雀大街的水渠上发现5座东西并列的砖砌桥基,皆为南北走向,等距离排列。据考古实慈禧太后与卖豆腐的男人有关系?历史开讲慈禧作为中国历史上最后一位执掌王朝的女性,人们普遍对她的评价都是过大于功,认为她卖国求荣,生活奢靡。在她这种奢靡的生活中和她有过关系的男人,在各种野史传说中也是数不胜数,其三国名将说魏曹仁历史开讲黄巾之乱平定,董卓之乱伊始,汉帝威严扫地,俨然成为诸侯招揽人心加官进爵的傀儡。如果说当时还有诸侯尚有忠君之心,讨董之时大概也只有孙坚和曹操了吧。孙坚暂且不谈,曹操可是为了追1932年美国总统选举美国走向霸主的关键抉择1932年美国总统选举是美国第37届总统选举。这次选举由纽约州长富兰克林德拉诺罗斯福胜出,这次选举是民主党重新执政的开始,开始长达20年的执政,直至1953年,也结束共和党自1861925年,有个日本人来到北京,怀着窥觑心态拍下的照片,保存至今上世纪二十年代,日本人为了侵略中国,曾向中国派了很多人,这些人有的是学者,有的是普通人,他们来到中国,拍下大量老照片,记录中国的风土人情人文建筑人民生活物产矿藏等等。他们把这些老照明朝官员犯罪,为何是发配到山西当乐户?乐户是什么?有多惨我们生活在一个和平的年代,各行各业之间相互尊重,相互欣赏,对于行业的认知,我们只谈喜爱,不论贵贱,人们安居乐业,喜得其所。五千年的封建专制,使得许许多多卖艺为生之人受尽了白眼和冷待亿万富翁的离奇死亡,陈世贤法医眼中的2007年重庆渝北富翁死亡案头条创作挑战赛2022生机大会在头条看见彼此天南地北大拜年从今天起记录我的20232007年3月21日,公安部法医室主任陈世贤作为公安部专家组的一员前往福建罗源核查一起命案,刚到罗别再说秦始皇没有用活人殉葬了如题,最近在抖音上看见很多视频号在说这个问题,堂而皇之的写着秦始皇用兵马俑陪葬,却没有用活人殉葬,以此来证明秦始皇其实也有比较仁慈的一面,甚至说这是他爱民的表现。呵呵这实际上是个伪